3 ms·
Posted further down, but I'll move it here since it's more relevant to android's development: So a few years ago I created an open source community in gaming (
by scrollaway 9y ago
Posted further down, but I'll move it here since it's more relevant to android's development:
So a few years ago I created an open source community in gaming (which coincidentally, the author of this blog post was a part of early on). We had a Github organization, an IRC channel, etc. It was fun.
At some point I grew part of the community into a company, which today is growing and thriving. We're rooted in open source. I'm rooted in open source (Nearly all my work has been public and on Github for the past decade).
Today we still have nearly all our work up and public on Github but get next to zero external contributions. Because contributing as someone external to the company is hard.
Unless your actual goal as the company is to produce free & open source software, it's going to be really, really hard to make it possible for external actors to contribute to the core products as smoothly as for the company's employees. There's loads of things that pile up, like reusing internal CI systems for testing, requiring API keys and passwords for access to resources that are required or highly useful for development (eg. testing a redshift environment), and so on. All those things are fixable, but take a huge amount of time to fix, and why would you fix it if nearly nobody external to the company is contributing anyway? It's not like making the experience easy is a guaranteed win either.
Things like product design, project management, etc... it's not obvious how to make those open processes. It's not like you can do part time project management contributions to any random open source project out there. And when the processes aren't open, the barrier of entry to contribution is that much higher.
And quite frankly, certain people (who will recognize themselves) make it extremely unappealing to spend a lot of efforts on keeping the entire project open. The kind of people who will complain about every little detail of how you're trying to open up the project, until its name is prefixed with GNU/. "All or nothing" is an atrocious approach to open source and actively harms the ecosystem.
Point is, don't blame Google for making Android and Chromium hard to contribute to. It's not like it's on purpose, it just takes a huge investment for it to be possible. I mean fuck, Firefox isn't exactly easy to contribute to, and Mozilla is one of the most open companies out there, and in many ways a role model of how an open source company should be run.
- pgeorgi 9y ago> certain people (who will recognize themselves) They probably won't.
- bryanlarsen 9y agoKubernetes is relatively easy to contribute to, but that almost seems incidental. IMO The reason why Kubernetes sees lots of outside contribution is because Red Hat, Microsoft & IBM et al recognize that it's in their best interest to contribute to Kubernetes and to apply technical and business pressure to ensure that Kubernetes doesn't become a silo. I have no idea why this didn't happen for Android. Samsung & LG have spent a fortune on Tizen & WebOS, and would have been a lot better off with a truly open Android. Whether that's their fault or Google's is hard to tell, but I suspect that answer is "both".
- jcranmer 9y agoThere's a simpler way to put this: In open source, there's invariably an "in-track" and an "out-track." The in-track consists of people who will get their concerns pretty quickly addressed and can make their patches known and reviewed fairly quickly. The out-track is those who can't do that. The strengths and weaknesses of open-source models is in how easy it is to make it into the in-track, and how stark the in/out dichotomy is. My experience with Mozilla is that they do a fairly good job at speeding people from out-track to in-track (although I suppose it depends on what areas you work in--Thunderbird was ridiculously easily, but I can imagine Gecko or SpiderMonkey is going to be much harder), but the in/out dichotomy remains somewhat stark. I've seen other places, like LLVM, where the in-track is much harder to break into, but the in/out dichotomy is not so stark.
- nojvek 9y agoChromium has a ton of external contributors. Have you read the AUTHORS list? Sure, it’s not all on GitHub but a number of its parts are. It’s a pretty hackable project.