User:Yurik/When Should Pragmatism Outweigh Philosophy?

From Meta, a Wikimedia project coordination wiki

When Should Pragmatism Outweigh Philosophy?

Summary[edit]

What is more important to us - attracting more open source developer contributions to build better Wikipedia, or to uphold the principle by which every tool we use should be open source? If first, we should switch to GitHub. Wikipedia was written by casual visitors. Phabricator and other tools require casual developers to learn a new ecosystem before contributing. If we use GitHub, more developers would have gotten involved by submitting minor patches via familiar process. Instead, they get turned away by the new coding environment. Our resources should be spent on building Wikipedia, not on fighting windmills and promoting an alternative open source solution to every aspect of development.

TL;DR[edit]

We champion Free (as in Freedom). Wikipedia was built on that principle above all else - knowledge must be open for accumulation, usage, and sharing. So when MediaWiki was being built, it was obvious that the knowledge platform must also be free - after all, a proprietary platform with free knowledge is not really free. We spent some of our limited resources to build MediaWiki software, as we justifiably consider that a part of our core mission. We also required all third party libraries we use to be Open Source, and if it was not a perfect fit, we would spend considerable efforts modifying it, benefiting both ourselves and the world at large. Lastly, we invested in our own hardware and network setup, as opposed to using some, arguably more efficient and cheaper cloud provider, again justifying it by better user privacy guarantees.

So far I would say that despite potentially cheaper alternatives, these resource allocations were well aligned with our stated goal, and thus justified. But we did not stop there. We attempted to use open source in every aspect of our project. Bugzilla, Gerrit, Jenkins, Phabricator -- these are just a few of the tools we use.

And here lies the fundamental problem - at what point does the free knowledge mandate stop covering our desire for having everything locally hosted and open source? We purchase SSL certificate from a commercial service, we buy geoIP database, we pay for the site monitoring, to manage our HR and payroll. We use Google Office instead of hosting our own mail server. Most of the foundation uses Apple computers with MacOS instead of some open source hardware and software. And this is perfectly ok - we need to pragmatically balance between being productive and sticking to our main mission, vs fighting windmills to make everything in this world open.

For the past 15 years, we spent considerable resources to build and host our own infrastructure to store code, manage bugs and projects, and automate quality control. All this is important, but while we were doing it just for ourselves, Github managed to create a hugely convenient and attractive platform for the entire open source movement, far surpassing our own efforts.

Phabricator is a good technology. While nowhere near the convenience of GitHub, it is a huge step forward from everything we had before it, and I could have agreed that it was worth the resources we spend on it, has it not been for an enormous loss we experience in the other area - attracting volunteer developers. They all know GitHub, but they do not know Phabricator. And figuring out a new platform is always a mental cost, no matter how simple it is.

Significant portion of Wikipedia was built by tiny contributions by accidental visitors, who later stayed and contributed more. Having a new coding platform denies us those coders. So we must again consider - should we use a free outside service, or should we continue investing our limited resources into our own platform, raising the barrier of entry, just because the platform behind it is not open source?