Hi, I’m Charlie, a back-end developer intern in Wiredcraft, I’ve been here for almost two months and it’s really exciting to work with these cool guys while we doing Open Source together. And also I’m a graduate student of Chinese Academy of Sciences, and that’s where I start to know about Open Source. But first I have to make sure that every one of you knows what Open Source is.
I know that most of people who are reading this post know what Open Source is, and you can easily google it, but there are two stories which make me feel that I must declare it before I tell more about Open Source. First story, once a junior told me that he was interested in Open Source, I asked him what Open Source is, the answer surprised me really, he said that Open Source was a company who made OpenCV, OpenMP, Open[whatever]…, I was shocked and interrupted him. Second is when I lived in a youth hostel in Shanghai, I showed a guy from Belgium my Android-system mobile phone, it was not origin Android system actually, it was a custom Android system called “Flyme OS” with MX(my phone). Well, this time he was the one who was shocked, “The Android belongs to Google, how could someone change it in China?” he said, I said that Android is Open-Source software, “Why does Google do that?” he continued, I tried my best to explain the benefit of Open-Source software.
So what is Open Source exactly? You can find this in Wikipedia:
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.
When we say Open Source we often means Open-Source software, and there is also Open-Source hardware, even Open-Source movie and music, but this time let’s talk about Open-Source software. Ask what the main defining characteristic of Open-Source software is and most people will tell you that it’s free! While this is usually true it is 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 licence. Virtually all Open-Source software comes with a licence to let you know what you can do with the software. Then developers around the world can participate the development while following the license. There is also Free Software, I won’t talk too much about that, but DO NOT 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 freedom that are associated with the software, thereby taking a more ethical viewpoint on the matter.
I’m not someone like a senior contributor in Open-Source community, actually I started to know about Open Source two years ago, I didn’t even know what’s that, and the story began when I became the chairman of a Open-Source event. After that I started to learn Git, put my projects in Github, use GNU/Linux do everything and start to the meaning of “Open Source” and “Free”. Later I became the president of Open Source Software Association of Chinese Academy of Sciences(OpenCAS), that’s when I had my own Open-Source community. As a community leader, I built good relationship with other communities like Beijing LUG, GNOME community, Beijing GDG and PyChina. And of course we had a lot of fun in too many events like Software Freedom Day(SFD), PyCon, and Apache Road Show. These are all great success to my community, and for me these are treasured memory. Not just the friends that the communities give me, but also make it more clear to me that how good Open Source is.
The benefit of Open Source is not just that you can use everything for free. Actually, nothing in an OSI-approved licence prohibits anyone from charging for a particular piece of Open-Source software. However, this rarely happens. Since the licence enables anyone to redistribute the software freely, any customer could make a million copies and just give them away. Charging a licence fee for Open-Source software just isn’t a practical way to make money. But yes, there are other ways to make money with software than merely charging a fee to let people use it, like what Red Hat did.
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 official branch. Finally everyone knows about the software and everyone is using it, no matter if it’s the original one or not. I mean, this is a incredible spontaneous action to spread the software which is Open Source, people know it, use it for free and modify it as they want. So we can make the conclusion, essentially Open Source is a way to share knowledge(not just software) around the world, it’s a promotion in human progress, on the other hand, can you image that how great a Open-Source software will be if it’s maintained by developers all over the world? That’s exactly how Linux make itself the world famous Open-Source software.
Here in Wiredcraft, we’ve made lots of Open-Source softwares as you can check on our Github Organization, we also have pounds of posts about various technology, tools and best practices. People here are all Open Source friendly and we’re still looking for more people who love Open Source to join us. What are you waiting for?