Is GitHub's Encouragement of Open Source Hypocritical Given Its Proprietary Nature?
GitHub, often likened to a library, represents an environment where the resources made available (the books) are open to the public. However, the control and ownership of the platform itself (the library) lie with a private entity. This creates a stark contrast between the service's open nature and its proprietary structure, leading to questions of hypocrisy.
Welcome to the World of Closed vs. Open Source Systems
We live in a world with a mix of open source and closed source systems. While GitHub provides an excellent public service, it is not immediately clear if it is hypocritical for the platform to encourage open source projects while maintaining proprietary code. The answer largely depends on the perspective taken when defining the term 'open source.'
The Perspective on Open Source
Some argue that 'free software,' as championed by Richard Stallman and the GNU team, is the true essence of 'open source.' According to advocates, the GNU Public License (GPL) is the only valid form of open source licensing.
In this view, GitHub can be seen as being hypocritical by not opening its entire software stack—ranging from core infrastructure to application-level services—under the same licensing terms. This perspective emphasizes complete transparency and the sharing of all possible technical details, akin to full disclosure in academic research.
Industry Norms and Practical Considerations
However, the prevailing industry opinion may differ. Many believe that open source makes sense for some components and frameworks but not all, particularly when viral licenses such as the GPL are problematic. Proprietary services, which allow for more flexibility and commercial support, are often seen as acceptable, even if they do not fully embrace the principles of open source.
For instance, both GitHub and Microsoft have significantly opened parts of their codebases, aligning with the pragmatic view that certain components can be kept closed for various reasons, including trade secrets, competitive advantages, and managing community expectations. There is a sweet spot in the industry where fundamental components and frameworks are opened, while company-specific infrastructure and applications remain closed.
The Business Case for Proprietary Code
Description
While there are benefits to being fully open source, such as fostering a vibrant community and potentially lower costs, the reality is that many companies including GitHub and Microsoft, cannot afford to operate in this manner. Fully open source projects, especially those relying on the GPL, often struggle to maintain profitability.
Moreover, the practicality of hosting entirely free and GPL-licensed projects is limited. This is partly due to the fact that to be ethically consistent, such companies would risk excluding a large number of projects that do not adhere to the GPL, which is a small fraction of the total open source landscape. This dilemma highlights the challenge in balancing ethical considerations with commercial viability.
As of now, GitHub's business model does not align with full open source practices, but it provides a valuable service by enabling open collaboration. For further information, I will update this article to reflect any changes in their stance.
Conclusion
The question of whether GitHub is hypocritical in its encouragement of open source while remaining proprietary largely depends on one's perspective and the definitions used for 'open source.' While some may see a flaw in their approach, others might be more pragmatic about the role of propriety in the business world.