Linux_

An Open-Source Wonder

What_is_Linux_?

- It’s a kernel (core of operation systems), and it can be expanded easily.
- It’s FOSS (free and open-source software), and anyone can view/change/develop it.
- It’s a work-horse, not a daily entertainment machine.

- Linux kernel is just the core of operation system. People usually refer Linux to the actual several operation systems themselves as "Linux". In fact, the operation systems are distributions based on Linux kernel. Some of the distributions are FOSS, like the Linux kernel while others are commercialized.

Where_is_Linux_used_?

- Software developers
- When you are browsing amazon/ebay, etc. (Web servers)
- Supercomputers
- Mobile phones (Andriod mostly)

Some_numbers

History

Linux was created by Linus Torvalds. Torvalds was frustrated by the liscencing issues from the using MINIX system when he was in university.

After he released his versions to the web, the community started to gave Linus ideas about the kernel. After a while, the community started to contribute codes to the kernel. Linus then chose several people to form his trusted team.

In the mid-1990s, supercomputer communities started to adopt Linex distributions for cost savings. Compaines such as NASA, IBM, Dell, Hewlett-Packard, and Microsoft started to use Linux.

Why_is_it_unique_?

- Its nature (spontaneously) provides a great environment for software developers.
It assumes users know and are responsible of what they are doing. It also keeps informing users of what is going on with the system. More importantly, it allows users to take command, rather than commanding users

Users are not informed about what exactly is going on with the updates—Linux will always keep users informed.

“Don't turn off your computer”?! Computers aren't supposed to give users command!




- It's quite user-unfriendly for non-software developers.


- It's completely managed and contributed by the community

World map of developers contributing to Linux Debain distribution


- It’s highly customizable (do whatever you want with it, literally)

Even the UI of different Linux distributions can be in many different forms, and many of them are designed by designers and developers as their hobbies. Surely some look better than the others, but there is a great variety. Some don't even follow the OS interface tradition.

How_it_works / Typical_day_of_a_developer

“I found a task that’s using 100% of CPU, and I decided to find what’s happening.”


“With some struggle, I found a bug with the video card driver and that’s caused by a specific hardware.”


“Then I decided to change the video card driver myself. It would be nice to also optimize the Linux kernel.”


“After 19 hours, everything is done and tested, I decided to upload my changes to the Linux community.”


“Three days later, I received an email from Linus about the next update of the kernel. My changes are part of the changes and I got thanks from Linus.”



Linus, and some of his trusts form the core management team of Linux. Every important changes to the linux kernel would go through those people and they would test the code and decide if they would be kept.


Public_good?

Linux kernel feels like a public good, as everyone can use it and modify it for a better experience for everyone. However, there are some interesting points:

While Linux kernel is competely free, its distributions are not necessarily so.
(Distributions are like specific operation systems that use Linux kernel that get published.)

There're distributions that get commercialized (Ubuntu), and there're distributions that are completely managed by the public. (Debain) Others set in between.

For commercialized distributions, they act more like normal software products from compaines—people get charged from buying the product.


Remember, more than 75% of the codes related to Linux were written by commercialized parties. Public contributions are actually quite limited.




- The distribution that comes closest to public good is Debain:
Debain has a developer team and a management team. Team members are selected from developers who are willing to contribute to Debain. Non team members are also allowed to contribute to Debain, but team members are sometimes given specific tasks to finish.

To be a member in the core team, one need to pass ID CHECK, PILOSOPHY AND PROCEDURES CHECK, TASKS AND SKILLS CHECK, and requires RECOMMENDATIONS. Applicants often need to write essays about their points of view on free and open-source software.

The whole team and the community works organically to develop and manage new versions of Debain. Contributors are not just limited to software developers. Translators and designers are often needed as well.


- On the other hand, Ubuntu, is kind of split into two parts. The normal part works just as Debain as free and open-source software, but the other part marketed for servers are managed commercially. Copies are sold by price with professional supports.

Potential_problems & why_they_(donot)_matter

- Linux is very hard to use (almost like an RPG game)
- Bugs will be present
- User-unfriendly = Outdated design?
We can safely say that any Linux distributions are not user-friendly. No matter how many community effort is involved in optimizing Linux extentions, it's determined not to be on the user-friendly side due to the restrictions of its nature. However, we cannot say Linux is outdated for this point. Many software developers demand a completely different computer environment than Windows or Mac OS, and this level of user-unfriendly is required. It's a trade-off.

- Can (should) Linux be embraced by everyone?
As wonderful as it sounds, the very basic premise of Linux kernel makes it hard, if not impossible to popularize among normal computer users. Linux assumes users know what they are doing and are responsible of their actions, but computer operation systems are just too complicated for everyone to comprehend.

- Is FOSS the way to go?
Not sure...

Bibliography

https://www.debian.org/devel/join/
https://www.linux.com/what-is-linux
https://buy.ubuntu.com/collections/ubuntu-advantage-for-servers?_ga=2.253123145.1976507549.1508736234-22797911.1508618988
https://www.ubuntu.com/support/community-support
https://linuxmint.com/getinvolved.php
https://www.kernel.org/category/faq.html

back to top