Before I started working at Wiredcraft, I visited Shanghai once and stayed in a youth hostel. One night, I was chatting with a fellow traveler from Belgium; I showed him my Android-system mobile MX phone (that was running a custom Android system called “Flyme OS”). He was shocked. “Android belongs to Google. How could someone change it in China?” he said, to which I explained that Android was an open-source software. “Why would Google do that?” he continued, and I tried my best to explain to him the benefits of open-source software. I have a few years of experience with open source, as just a few years ago, a university classmate at Chinese Academy of Sciences had similarly introduced me to the world of open source.
So What Exactly is Open Source?
This text sums up what I said to my fellow traveler:
“In production and development, open source as a development model promotes universal access via a free license to a product’s design or blueprint, and universal redistribution of that design or blueprint, including subsequent improvements to it by anyone.” - Wikipedia
When we say “open source”, we often mean open source software, but there’s also open source hardware, or even open source movies and music. But for now, I’ll be referring to open source software.
If you ask what the main characteristic of open source software is, most people will tell you that it’s free. While this is usually true, it’s not the defining characteristic. Open source software is software that has been released under an Open Source Initiative (OSI) certified licence.
The key to understanding the meaning of open source software lies in the license. Virtually all open source software comes with a license to let you know what you can (and can’t) do with the software. Then, developers around the world can contribute while following the license.
There is also Free software; I won’t talk too much about that, but don’t confuse the two terms. Free software is an expression used by the Free Software Foundation. The term “free software” pre-dates open source software, and focuses on several kinds of freedoms that are associated with the software, thereby taking a more ethical viewpoint on the matter.
My Story With the Open Source Community
I’m fairly new to the open source community; I just discovered open source a few years ago, but was lucky enough to become the chairman of an open source event. With this first venture into open source, I began to learn more about it, including Git, utilizing GitHub for my projects and using GNU/Linux to do everything. This helped me to understand the meaning of “open source” and “free”.
I eventually became the president of Open Source Software Association of Chinese Academy of Sciences (OpenCAS), where I was exposed to a physical open source community. I was able to build relationships with other developer communities like Beijing LUG, GNOME community, Beijing GDG, and PyChina and host events such as Software Freedom Day (SFD), PyCon, and Apache Road Show. These events helped us give back to the community and help gain more support for open source in China. Additionally, I learned a great deal from the members of the OS communities in Shanghai.
Why Is Open Source Beneficial?
The benefit of open source is not that you can use everything for free. Actually, nothing in an OSI-approved license prohibits anyone from charging for a particular piece of open source software. However, this rarely happens because the license enables anyone to redistribute the software freely. Any customer could make a million copies and just give them away. Charging a license fee for open source software just isn’t a practical way to make money. There are other ways to make money with software, rather than merely charging a fee to let people use it. For example, Red Hat enterprise version — RHEL is a GNU/Linux distribution. You’ll need to pay if you want to get the software, service and technical support from Red Hat.
As everyone has access to the source code of open source software. Everyone can make a copy, modify the code, add new features, release the new software, or ask to be merged in an official branch. Finally, everyone knows about the software and everyone is using it, regardless of whether or not it’s the original. Spreading open source software is becoming a common action; people know it, use it for free, and modify it as they want.
Essentially, open source is a way to share knowledge (not just software) around the world. Can you image how great an open source software would be if it was maintained by developers across the world? That’s exactly how Linux made itself the world famous open source software.
Open Source at Wiredcraft
Here at Wiredcraft, we’ve made some open-source software, as you can see on our Github Organization. The Carte project is a simple Jekyll based documentation website for APIs. It’s designed as a boilerplate to build your own documentation and is heavily inspired from Swagger and I/O docs. And there’s Carcass, a toolbox built for middle to large Node.js projects.
The Wiredcraft team is open source friendly and always looking for more people who love open source to join us.