[Google Makes All Its Open Source Projects Available In One Place

0 views
Skip to first unread message

Oludare Padilla

unread,
Jun 12, 2024, 8:27:38 AM6/12/24
to grilicarer

Open source is collaborative, or at least, I thought it was. What modern hackers have been calling open source, may in fact be something else, especially when we start to use those workflows to collaborate on things beyond just computer code.

Google Makes All Its Open Source Projects Available in One Place


Download Filehttps://t.co/e4SXVWTmFD



Open source refers to a philosophy of collaboration whereby others (publicly, or within an organization) are encouraged to fork, modify, discuss, and contribute to an ongoing project. Open source software refers to software with source code that has been made available to others.

Karl Fogel, who literally wrote the book on producing open source software, and whom I admire greatly, corrected, in a series of emails, that since its inception, open source had always been about the right to modify, not the right to contribute.

Open source refers to material (often software) released under terms that allow it to be freely shared, used, and modified by anyone. Open source projects often, though not always, also have a highly collaborative development process and are receptive to contributions of code, documentation, discussion, etc from anyone who shows competent interest.

That struck me as odd for a few reasons. Granted, I have a somewhat skewed viewpoint, but it exposes an important edge case. Especially in government, we see the source code for an application being made available, but with no intention of (or often mechanism for) the agency to accept community contributions, an arrangement that many today would not traditionally label a truly open source effort.

Developers today could care less what the license is or if non-free software is an instrument of unjust power. We just want to hack on cool stuff and we know doing things in the open is the best way to do it. Open source has won, and not for political or philosophical reasons. Today, Microsoft supports open source because it makes good business sense, not because of the freedoms it brings.

There are a lot of reasons for that de-emphasis. For one, technology has made it easier to work together than alone, shifting the supply-side constrains from projects to contributors, and in turn, has shaped what it means to be open source. As Karl noted:

I recently finished More Awesome Than Money, a book about the college students who started Diaspora, an open source, privacy-focused answer to Facebook. As a business, Diaspora was never very impressive, but its message resonated. They raised over $200,000 from Kickstarter and ended up with over half a million users at their peak.

The social network eventually met a slow, tragic end with one of the founders committing suicide and another heading back to college. The remaining founders ran out of money and while the codebase is still under active development, it runs as a non-profit that is largely supported by its contributors.

Open source software is distributed publicly, typically for free, but because maintaining software is a lot of work, many of the largest open source projects are supported and owned by for-profit companies.

A well-known example is Automattic, the parent company that maintains and distributes WordPress.org. While Automattic now runs several closed source software products in addition to the open source WordPress, they started primarily as an open source business.

Red Hat, the maintainer of one of the most popular Linux distributions, is another example of a large open source company. While they continue to build some free, open source solutions, they offer high-touch services and remote support to maintain the business.

Building a business around an open source project can be really hard. Emily Omier, who helps open source companies with positioning and commercial strategy, has built her business around helping open source companies address some of these challenges. She pointed out to me that the decision to make a project open source is not one that founders should take lightly:

Some open source licenses come with restrictions. For example, some require you to make any software you build with their code open source as well. Others are open source, but not free for for-profit enterprises to use.

While not typically used by large for-profit companies, some individual developers make pretty good money by taking donations for their open source work. Patreon, GitHub, and Buy Me A Coffee are all popular platforms that allow individuals and businesses to help support open source projects that they use or want to see maintained.

If you want to make your software more accessible, you can sell training at a lower cost than hands-on management and support. For example, The Linux Foundation helps maintain hundreds of open source projects and makes money through its training courses.

Similar to the open core model, some open source projects offer a dual license. This might allow a small, independent developer to use the software free, but companies using it for a profit must pay a license fee. For example, Qt offers a dual license:

Companies can decide which license is appropriate and pay Qt as needed. While some companies might abuse this license structure, lawyers will look at things like this in detail if the company ever decides to sell or go public.

In July of 2020, The Linux Foundation published a whitepaper on how to address these issues in detail. In 2021, the primary update in the paper is to reflect a change in the US Export Administration Regulations.

This may seem alarming for open source communities, but the good news is open source technologies that are published and made publicly available to the world are not subject to the EAR. Therefore, open source remains one of the most accessible models for global collaboration.

All of them. Open source software from the Linux Foundation and project communities we work with is published and made available to the public without restrictions on further dissemination or distribution of the software.

As of 2021, if an open source project uses standard cryptography, there are no additional requirements or analysis required. However, if a project is using non-standard cryptography, email notifications are still required. Uses of non-standard cryptography are fairly rare, so please read the full PDF for details on handling these situations.

Please keep in mind that this applies only to the open source project itself. Downstream redistributors of modified project code or products derived from it, where the source code is not publicly available, would still need to evaluate their own compliance with the EAR (just as with any other software that they export). Additionally downstream open source projects that implement non-standard cryptography would have to do a similar analysis.

In addition to projects that use encryption, the EAR added a new regulation in January 2020 for systems that employ a certain use of neural network-driven geospatial analysis training. As with other open source technologies that are publicly available, open source software that is published and publicly available, even in this category of neural network-driven geospatial analysis training, would also not be subject to the EAR. Please refer to our full whitepaper for more explanation.

While open source projects are exempt from EAR restrictions, there are a few practices we have learned or developed that may be helpful for all open source communities as it relates to export regulations.

One question that has come up has to do with exchanges of information related to security issues under a security disclosure process. As a best practice, projects may want to consider making exchanges like this public upon the availability of fixes, and not limit this information to only a confidential disclosure list.

If your open source software project implements or uses non-standard encryption functionality classified under ECCN 5D002, you will likely want to deliver a notification of encryption to the BIS and the NSA according to the EAR requirements.

In addition to manual review, there are some scanning tools (such as Fossology and exportctl) with varying degrees of ability to scan source code and detect usage of encryption functionality. No automated scanning tool is likely to be a perfect detector of all applicable uses, but these may be helpful in identifying copies of encryption software in a large codebase.

Licenses: All visualizations, data, and articles produced by Our World in Data are open access under the Creative Commons BY license. You have permission to use, distribute, and reproduce these in any medium, provided the source and authors are credited. All the software and code that we write is open source and made available via GitHub under the permissive MIT license. All other material, including data produced by third parties and made available by Our World in Data, is subject to the license terms from the original third-party authors.

The world of open-source is stronger than ever. As the world gets more connected, more people are interested in being a part of building amazing new technologies. However, there are many more advantages to open-source software than just that.

As a general-purpose programming language, Python encourages developers to use functional, reflective, and object-oriented programming. It is at top of the in-demand programming languages list in 2021. Engaging in these Python open-source projects can help you develop essential development skills.

TensorFlow is a free open-source software used for machine learning and AI. By contributing to this open-source project, you can contribute to the technology that solves complex problems. Its application spans medicine, education, research, retail, and more.

As one of the major Python web frameworks, Django is used on sites like Instagram and Mozilla. This open-open source project can help you learn rapid development and the Do-Not-Repeat-Yourself principle. It follows the model-template-views architecture.

Flask is a web framework - meaning that it provides you with tools to build web apps. In comparison with Django, a full-stack web framework, Flask is lightweight and offers virtual debugging. This makes it a great open-source project for beginners.

795a8134c1
Reply all
Reply to author
Forward
0 new messages