Best Free and Open Source Alternatives to Microsoft

Best Free and Open Source Alternatives to Microsoft GitHub

Microsoft’s stance for decades was that community creation and sharing of communal code (later to be known as free and open source software) represented a direct attack on their business. Their battle with Linux stretches back many years. Back in 2001, former Microsoft CEO Steve Ballmer famously tarnished Linux “a cancer that attaches itself in an intellectual property sense to everything it touches”. Microsoft also initiated its “Get the Facts” marketing campaign from mid-2003, which specifically criticized Linux server usage, total cost of ownership, security, indemnification and reliability. The campaign was widely criticized for spreading misinformation.

However, in recent years, there has been a partial shift by Microsoft to embrace the open source software paradigm. For example, some of their code is open sourced. Examples include Visual Studio Code, .NET Framework, Atom, and PowerShell. They have also made investments in Linux development, server technology and organizations including the Linux Foundation and Open Source Initiative. They have made acquisitions such as Xamarin to help mobile app development, and GitHub a hugely popular code repository for open source developers. And they have partnered with Canonical, the developers of the popular Ubuntu distro. But many developers remain hugely sceptical about Microsoft and their apparent shift to embrace open source.

This series looks at the best free and open source alternatives to products and services offered by Microsoft. We launch the series with GitHub.

Microsoft GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management (SCM) functionality of Git and offers its basic services without charge. But it is not open source which puts some organisations in a difficult position to migrate where they rely on the non-Git elements of GitHub’s service offerings. Vendor lock-in is a legitimate concern.

There are lots of alternatives to GitHub. We only recommend the best open source alternatives to GitHub in this article.


1. GitLab

GitLab

GitLab, like GitHub, offers version-control distributed git platforms used for storing your code inside git repositories.

GitLab is essentially a comprehensive DevOps platform. It has a mature built-in CI/CD framework, the combined practices of continuous integration and either continuous delivery or continuous deployment. Combine that with code and project management tools, issue reporting, and more, it makes it easy to manage, plan, create, verify, package, secure, release, configure, monitor and defend projects.

Self-host GitLab on your own servers, in a container, or on a cloud provider.

GitLab is published under an open source license.


2. Gitolite

We’re big fans of self-hosting. And storing your code inside your own locally hosted git repository makes a lot of sense. Make sure your backup strategy is sound!

We are also big fans of Gitolite. It lets you setup git hosting on a central server, with fine-grained access control and many more powerful features. Manage a Git server with Git.

While you’ll need to learn how to use Gitolite, this involves simple editing of text files in a Git repository. And the project’s documentation is excellent.


3. Gitea

We also love Gitea as a self-hosted Git service. This is a community managed lightweight code hosting solution written in Go. It aims to offer the simplest way to set up a self-hosted Git service.

Gitea is cross-platform, easy to install, lightweight and published under an open source license (MIT).


4. Gogs

If Gitolite or Gitea don’t float your boat, we also recommend Gogs. It shares many similarities with Gitea (Gitea is a fork of Gogs).


All articles in this series:

Alternatives to Microsoft's Products and Services
Microsoft BingBing offers search services, including web, video, image and map search products. It's developed using ASP.NET.
Microsoft DynamicsDynamics 365 is a product line of enterprise resource planning and customer relationship management intelligent business applications.
Microsoft Exchange ServerExchange Server is a mail server and calendaring server. Exchange uses a single building block architecture.
Microsoft GitHubGitHub is a distributed version control and source code management functionality service. It includes non-Git elements.
Microsoft OfficeOffice is a family of client software, server software, and services. Microsoft has promoted Office 365 as the primary means of obtaining Office.
Microsoft OneDriveOneDrive is a file hosting service and synchronization service. Users can upload Microsoft Office documents to OneDrive.
Microsoft OneNoteOneNote is a note-taking program for free-form information gathering and collaboration. It gathers users’ notes, drawings, screen clippings, and audio commentaries.
Microsoft OutlookOutlook is a personal information manager that's primarily an email client. It includes calendaring, task managing, contact managing, note-taking, journal logging, and web browsing.
Microsoft PlannerPlanner lets users create Kanban boards using content-rich tasks with features including files, checklists, and labels.
Microsoft ProjectProject lets you develop schedules, assign resources, track progress, manage budget, and more. It's part of the Microsoft Office enterprise project management product.
Microsoft PublisherPublisher is a desktop publishing application with focus on page layout and design. Use text, photos and links to make professional publications personal.
Microsoft SkypeSkype is software for VoIP-based videotelephony, videoconferencing and voice calls. The software also provides instant messaging, file transfer, debit-based calls to landline and mobile telephones (over traditional telephone networks), and more.
Microsoft Snipping ToolSnipping Tool is a screenshot utility. It can take still screenshots of an open window, rectangular areas, a free-form area, or the entire screen.
Microsoft SwiftKeySwiftKey is a virtual keyboard app for Android. SwiftKey learns from previous typed text and outputs predictions based on currently inputted text and what it has learned.
Microsoft TeamsTeams is a business communication platform. The service integrates with the company’s Office 365 subscription office productivity suite.
Microsoft To DoTo Do is a cloud-based task management application. It allows users to manage their tasks from a smartphone, tablet and computer.
Microsoft VisioVisio is a diagramming and vector graphics application. Database modeling in Visio revolves around a Database Model Diagram (DMD).
Visual StudioVisual Studio is an integrated development environment. It is used to develop computer programs, as well as websites, web apps, web services and mobile apps.
Microsoft WhiteboardWhiteboard provides a freeform, intelligent canvas where you and your team can create, and collaborate visually via the cloud. Designed for touch, type, and pen, it lets you write or draw as smoothly as you would with ink.
Microsoft YammerYammer is a social-networking platform for organizations. It’s a closed platform sometimes described as Facebook for businesses.
Share this article

6 comments

  1. There really wasn’t a big migration from GitHub to GitLab when Microsoft purchased GitHub.

    Microsoft are determined to be a good custodian of GitHub, they paid $7.5 billion in Microsoft stock for it!

    1. From the open source projects I’ve looked at, the vast majority are still on GitHub rather than GitLab. Why is that? Why is GitHub still way more popular? Inertia?

  2. I use codeberg, until now it has been more than enough for my needs, and it’s slowly getting more support.

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.