Open Source Is Good, but How Can It Do Good?
Open-source coders: we know you are good—now do good.
The free software movement is basically a movement for freedom. It's based on values that are not purely material and practical. It's based on the idea that freedom is a benefit in itself. And that being allowed to be part of a community is a benefit in itself, having neighbors who can help you, who are free to help you—they are not told that they are pirates if they help you—is a benefit in itself, and that that's even more important than how powerful and reliable your software is.
The Open Source world may not be so explicit about the underlying ethical aspect, but most coders probably would hope that their programming makes the world a better place. Now that the core technical challenge of how to write good, world-beating open-source code largely has been met, there's another, trickier challenge: how to write open-source code that does good.
One obvious way is to create software that boosts good causes directly. A recent article on opensource.com discussed eight projects that are working in the area of the environment. Helping to tackle the climate crisis and other environmental challenges with free software is an obvious way to make the world better in a literal sense, and on a massive scale. Particularly notable is Greenpeace's Platform 4—not just open-source software, but an entire platform for doing good. And external coders are welcome:
Co-develop Planet 4!
Planet 4 is 100% open source. If you would like to get involved and show us what you've got, you're very welcome to join us.
Every coder can contribute to the success of P4 by joining forces to code features, review plugins or special functionalities. The help of Greenpeace offices with extra capacity and of the open source community is most welcome!
This is a great model for doing good with open source, by helping established groups build powerful codebases that have an impact on a global scale. In addition, it creates communities of like-minded free software programmers interested in applying their skills to that end. The Greenpeace approach to developing its new platform, usefully mapped out on the site, provides a template for other organizations that want to change the world with the help of ethical coders.
There's a similar site that provides guidelines for those working in the area of international development. One of its key principles is "Use Open Standards, Open Data, Open Source, and Open Innovation". As that underlines, alongside open source, there are other major open movements that are critically important for making the world a better place. These include open data, open access, open science and open standards. For anyone in the Open Source community who wants to have a real impact on the world, working with these other "opens" is a great option. Writing code for these sibling movements has another important benefit: it strengthens the whole open ecosystem and confirms the power of distributed development in many different fields.
Those are all very general ways of helping good causes. For some people though, that might be too diffuse and vague. They might want to help a highly targeted project that is trying to solve a particular problem. There are plenty of them these days, discoverable with a bit of online searching. For example, if you are worried about the decline of magnificent animals like elephants—and who isn't?—you might be highly motivated to start coding for something like the Open Collar Initiative:
We want the development of wildlife monitoring collars to enter the world of the cooperative, Internet-based community. By making the collars' hardware and software and other information available online, we aim to attract and inspire talented students, researchers, and tech-savvy conservationists to develop tracking systems that are more customizable and a better fit for use on different animals.
The big advantage of helping out with these projects is that an individual free software programmer's contribution might be limited in absolute terms, and yet provide a relatively massive boost because the number of people helping out is small.
Finally, it's worth noting that there is another, rather novel way of trying to make the world a better place using open source, albeit indirectly, by means of its infrastructure. A group of tech activists recently issued a call for action using GitHub, asking for "digital protesters" to post a prepared message to Palantir's GitHub boards. The action was in response to allegations that Palantir's software has been used to help deport families of migrant children at the Mexican border. The idea was to draw attention to the issue, and to persuade the company to change.
Nor is this the only example of people turning to GitHub to flag social problems and push for solutions. In China, a group of coders set up the GitHub repository called 996.ICU. The name refers to the punishing work culture in many digital companies in China, where coders are expected to work from 9am to 9pm, six days a week—"996". As for the ICU part, it refers to the Intensive Care Unit where people may end up if they don't break free of the 996 culture. One of the ways the group hopes to fight 996 culture is by using the "Anti 996" License. It's a permissive software license in most respects, but its key element is that it requires users of code released under the license to "strictly comply with all applicable laws, regulations, rules and standards of the jurisdiction relating to labor and employment".
That goes against the generally accepted requirement that free software must be freely available for anyone—including companies that try to impose a 996 culture on their workers. But, it's undeniably a clever idea. It's just one of ways programmers are going beyond doing good coding with open source, and using it to do good.