Behind the scenes of open source apps.


Like how is it decided which changes are shipped etc, let’s go with the example of Firefox

In: 5

“Open source” does not necessarily mean “open development”. Open source just means that the source code is available for you to look at, build, and individually modify (if so desired).

The product’s direction and goals are governed by some defined leadership, for example the Mozilla Foundation for Firefox. The Mozilla Foundation is pretty much organized like most other companies, with a CEO, CTO, etc who make decisions about how Firefox is made. Even for projects that accept community contributions, changes are typically filtered, accepted, or rejected by the project’s management.

You can, if so desired, take the open sourced code and make your own version. Pale Moon and Waterfox, for example, are forked variants of Firefox.

Firefox is a bit of an outlier, it’s a huge project managed by a pretty large company. I imagine it works mostly the same as most companies do: there’s management deciding what needs to be done. People get hired, work on what they’re told to work on, and that goes into the end product. People can make external contributions, an employee will look at it and decides whether it’s fit to go in.

I can tell you how it works in the [much smaller project]( I participate in. It’s all volunteer work. A bunch of people got together around a common cause. Sometimes people just work on whatever they find interesting, and it typically makes it in after a code review. Sometimes we talk on Discord and figure something needs to be done (eg, it crashes if you do X). Typically somebody volunteers to look at it and fixes it.

In our case there’s no deadlines and no official obligations.

At our scale, there’s not a lot of unified vision from on top. There are some things we have a firm agreement we’re not interested in like cryptocurrencies and NFTs, but besides that it’s easy to have your contribution get accepted if it works and doesn’t break anything.

“Open source” means “everyone can see the raw code and grab their own copy if they want”. It does not mean that anyone can freely change the code for the official releases.

There’s still a person or group in charge of the project, and they decide what changes to make for the official version.