Let’s talk about open source software (or OSS, if you will).
While the name speaks for itself, I have noticed over the years that many people are somewhat confused about what open source development actually is, so let’s start with that. To put it simply, an open source software is a software whose source code is available to the public for modification and enhancement, hence the name open source. WordPress, Android and Linux—to name but a few—are successful examples of open source software.
Why choose open source software?
This is the tricky part. How do you decide to go into open source development? Why would you rather give away your work to the world than sell it and make a living out of it? Why does all of this matter?
I like to reply to these questions with an example. As stated before, the Linux operating system is completely open sourced. Android, the operating system powering most of the smartphones on the planet, is built on top of Linux, and is also open sourced.
Having such important software open sourced implies they are not proprietary; it means anybody technically-minded could read the source and understand it. And you’d be surprised at how many interested people do. This not only helps these softwares be less buggy, but also makes sure they are not “phishy”.
Consider this: what would prevent Microsoft or Apple from injecting a backdoor—a way to bypass encryption, authentication or anything else that could make it easy for a government agency to access user-sensitive and supposedly private data—into their operating system? After all, this is exactly what the FBI is asking Apple to do in the San Bernadino case. And, in practice, they could comply (and maybe they will, but that’s for another day).
It’s a whole other story with an open source operating system, however. Every single line of code added to the project is being reviewed by hundreds of developers to make sure it does not break anything, whether technical (like a bug), or moral (like a violation of privacy and rights).
This is precisely why open source software matters. Now, that does not mean everything should be given away like this. But at least now you can see how it can have an impact on people’s lives.
What about Edenspiekermann?
I’ve been talking a good deal about what OSS is and why it matters, but I still haven’t come to the point of this article: what do we do about it at Edenspiekermann?
Most of our daily work is for clients; they pay us to provide design and development solutions to their problems. We as developers, however, sometimes have to think outside the box and build stuff to make our work easier the next time. There is no point is reinventing the wheel every time—once you’ve made it work once, re-use it!
These small chunks of code that we carry around from project to project, well, we want to open source them. Why? Because it shows how we work. Because we use so many open source projects as part of our daily development routine that we find it only fair to give back when we can. Because this is how we make code better: as a community.
So far, we maintain 4 open source projects (under the MIT, which basically allows everything):
faster-react-tabs a flexible component to render content across accessible tabs.
accessible-modal-dialog a solution to handle accessible modal windows (or popups as sometimes called).
spritesh a script to bundle icon files into a single one (roughly speaking).
transync a script to synchronise translation files.
You can find the dedicated page to our open-source projects on our development blog.
While the third and fourth projects are technical helpers to optimize our workflow, the two other projects are heavily focused on accessibility, especially—as the name suggests—the Accessible Modal Dialog.
Web accessibility is about making the internet accessible to anyone, no matter their setup, their habits, where they come from, or who they are. It means having no assumption about anything and just Making It Work™.
The reason we care so much about accessibility in our open source work is because we believe that, if people are to use our code, it’s our role to make sure it is not responsible for anyone’s bad experience. When developers use our Accessible Modal Dialog in their projects, both they and we are ensuring a great user experience for everybody.
And that, my friends, is all that matters.