Showing posts with label MIT. Show all posts
Showing posts with label MIT. Show all posts

Tuesday, December 1, 2020

What is Open-Source?

Today, the term open-source is pretty popular. But it also means a lot of things. Would you like to understand more about it? Learn more on this post.
Photo by Chang Duong on Unsplash

Nowadays, the term open-source is pretty popular. But it also means a lot of things. Let's learn about its history and how it changed not only how we use software and services today, but also how it changed the society as a whole.

A little bit of History

The history of the free software/open-source mixes with the history of early computing and Unix itself so it's important to provide a little of context first.

Some say that it was Dr. Donald Knuth the first person to release a program's source code (TeX) to the public for free, but Richard Stallman, another brilliant developer who since his early years in the Harvard, then MIT labs believed (and later campaigned) that software should be open (ie., with its source code open to the public) and free (as in speech, not as in beer). His initiative soon would be known as the free software movement

The Free Software Movement

Before the term open-source became popular, the term "free software", created and popularized by Richard Stallman, was more prevalent. Stallman, who in 1983 started the the GNU operating system with the goal of creating a "complete Unix-compatible software system" composed entirely of free software.

Stallman who working in MIT's AI lab in the early 1970s became frustrated with the spread of proprietary software, saw it as a violation of people’s rights to innovate and improve existing software. His experiences with proprietary software made him an activist in defense of free software. Today it's difficult to imagine Linux, free and open-source software today without his contributions.

Speaking of contributions, some of Stallman's contributions to humankind are: the GNU Project, the Free Software Foundation, the GNU Compiler CollectionEmacs and the GPL / GNU General Public License.

Open-Source as a term

But Stallman's vision of free software had opposition from those who thought that the requirements imposed by the the free software movement were much too rigid. That group composed of influent people such as Todd Anderson, Larry Augustin, Jon Hall, Michael Tiemann and Eric S. Raymond endorsed the adoption of the term open-source proposed by Christine Peterson as a broader and better alternative.

Soon, other influential names such as Linus Torvalds, Phil Hughes, Larry Wall, Brian Behlendorf, Eric Allman, Guido van Rossum, Michael Tiemann, Paul Vixie, Jamie Zawinski, and Eric S. Raymond would be aligned with the new term raising awareness and industry-wide adoption.

Licenses

Licenses are an essential aspect of open-source software. The most common are:
  • GNU General Public License: the license created by Stallman himself. Today there are mainly three GNU licenses: AGPLv3, GPLv3, LGPLv3
  • Mozilla Public License 2.0: Permissions of this weak copyleft license are conditioned on making available source code of licensed files and modifications of those files under the same license
  • Apache License 2.0: A permissive license whose main conditions require preservation of copyright and license notices.
  • MIT License: A short and simple permissive license with conditions only requiring preservation of copyright and license notices.
Understanding the licenses is critical to any open-source project and is definitely a complex subject. We will address this in a more detailed post in the future.

Broader Open-Source Reach

Today, the term "open-source" goes beyond software and reaches many segments, including:

The world without Free/Open software

The world we live today would be drastically different if we didn't have these initiatives by Richard Stallman, Linux Torvalds, the others previously mentioned and millions of anonymous contributors worldwide.

Below, some of the ways in which free/open-source software changed the world:

  • the Internet: pretty much all the infrastructure of the internet today (routers, switches, firewalls, etc) runs Linux or open-source software. Not to mention the web servers (Apache, Nginx), databases (PostgreSQL, Redis, MySQL) and even most of the programming languages and libraries used to develop the tools and services you use are open-source.
  • Services: cloud services are built on top of the above list and use container technologies such as Docker, Kubernetes, containerd, KVM, QEMU which are also open-source.
  • Faster time to market: open-source also fosters and is essential for a faster time to market, critical to business today. 
  • Reduced development cost: it's probable that Google, Spotify, Tesla and even Amazon wouldn't exist today without open-source. It's impossible to imagine how to develop so complex products and services without the broad diversity of open tools available today.
  • Education: education also benefits significantly from free/open-source software. The contributions range from the device learners are using (Android, Chrome OS for example) to the services, infrastructure and broad range of technologies that support them.
  • IoT: the next age of computing will reach virtually every digital device around us. And Linux/open-source software is the 
  • Robotics: robotics also heavily utilizes open-source technologies (including hardware). 
  • Supercomputers: all of the supercomputers today run Linux. These computers are used for researches and are critical to the evolution of humankind.
  • And everything else: from agriculture to rockets, spaceships and nuclear plants, open-source runs everywhere.

Famous open-source initiatives

Today, there are many, many initiatives and projects that are extremely successful and follow the open-source. Some of the most biggest projects today are:

Linux and Open-Source

The GNU General Public License was the tool Linus Torvalds needed to grow his project. Without the open-source model, the distributed and collaborative nature of open-source and its ever growing audience of fellow contributors and sponsors, it's impossible to imagine that Linux would have have reached 30 million lines of code and US$ 5 billion in value.

And without the GNU operating system, we wouldn't have a solid foundation to build the fantastic Linux distributions we have available for free today.

Conclusion

The world as we know today would be radically different without the contributions of those pioneers back in the 80's. Between them, Richard Stallman was definitely the most important proponent of the free-software agenda which was later extended by the open-source movement reaching wider audiences and gaining corporate endorsement.

Today, Linux is the biggest open-source project in the world and rules the cloudthe Internet, mobiles phones and even supercomputers. Without Linux and open-source, it's difficult to imagine how far would the society be today. Definitely we'd be behind, way behind.

References

See Also

Monday, November 9, 2020

Why Linux is perfect for Education

Linux could be a cheaper, safer and more adequate choice for your school, University or research lab. Learn how.
Photo by Kimberly Farmer on Unsplash

Linux runs the cloud, the Internet and supercomputers. Turns out that due to its free price, open nature, interoperability with open standards, enterprise features and robust security, Linux could be a great fit for your school, University or research lab.

Linux is free

One of the most important reasons to use Linux in education is its price: zero. Yes, Linux is free. As public debt grows, it won't be long until public institutions have to adapt to this new reality of budget reduction. Being free allows Linux to be a serious alternative in education as it's a solid, cost-effective and reliable alternative.

Enterprise-Grade security

Since the how critical Linux is for the functioning of the internet today, there are lots of eyes on its security model. There are multiple reasons why Linux is way more secure than Macs and Windows, including its: open-source nature, open-collaboration model, built-in enterprise grade software, security-aware architecture, frequent updates, native disk-encryption and encrypted data at rest.

TIP: Want to know more about these features? Read why use Linux

Open-source code

Due to its open nature, researches and hackers frequently inspect and crack the code. When issues are found, they're reported and fixed by community. This constant review and curation of software guarantees that your organization will be getting software as secure as it can be.

Less viruses, less ransomware, less threats

Despite still being subject to viruses and ransomware, the previously mentioned features combined with a significant smaller percentage of threats of make Linux much safer than Windows and Macs (but not immune). And Linux also has anti-viruses if the system administrators need too. 

Knowing that most students are not as tech-savvy, keeping your organization free from virtual threats will be less stressful with Linux as most ransomware target Windows and Macs.

Linux will feel familiar

Linux will feel familiar for Windows and Mac users. Most distributions will either use GNOME and KDE, the most popular desktop environments which contain applications for everything you'd expect: file managers, contacts, calendars, email, communication tools, etc. For example, GNOME, the standard for most distributions looks like this:
While KDE looks like this:

Huge selection of applications

Linux also supports your favorite browsers such as Google Chrome, Brave and Firefox and runs most cloud services without issues. On the educational side, Linux comes with fantastic tools such as the Scratch tool created by MIT:

Linux is reliable

Remember this? You'll probably not miss that. Using Linux will be a way more stable experience. It's yet another reason why evelopers prefer using Linux. Your system will rarely crash and the tools you'll use will make your computer way more stable than Windows or Mac equivalents.

Good for old hardware

Linux is also excellent for old hardware as it can be configured with lighter tools that utilize less resources. Most distributions (such as Fedora LXDE shown below) release alternative lightweight versions so you'll just need a simple install to get these systems optimized for lower-end hardware.

Reliable updates

We've seen a lot of mistakes recently made by either Microsoft and Apple with their Windows and Mac operating systems. Updates on Linux are not only reliable but are more frequent than anything you'd get on those systems. You can choose between a long term support (LTS) system which provides up to 10 years of support or go with a more dynamic model that updates once or twice a week, every 6 months for a new releases.

Frequent/Automatic updates

Linux distributions are frequently updated meaning that students will be getting the latest security, software and kernel fixes automatically. These are usually the holes crackers explore to target organizations. Getting updates quickly is also important to mitigate zero-days.

Custom repositories 

With Linux, organization can easily setup their own custom repositories allowing/limiting which software can be installed on their Linux workstations. 

Linux is customizable

If just setting up a custom repository isn't enough, organizations can benefit from Linux's fantastic array of customization options allowing them to customize everything including:
  • Desktop Managers: most common are GNOME, KDE, XFCE, LXQT and LXDE.
  • Login Managers: how to login in your system.
  • Desktop themes: themes, colors, etc.
  • Fonts: customize your fonts, sizes, etc.
  • Systems and Services: your system will have an endless list of services to choose from.
  • Kernel: even the kernel, the main process of your system can be customized.

Free Office Tools

Linux also offers many alternatives to Microsoft's Office proprietary suite on Linux including LibreOffice, OpenOffice, WPS and Calligra Suite. You'll probably not miss Word and Excel.
Source: linuxuprising.com

Native disk-encryption

Most distributions offer native disk encryption during the installation. Native disk-encryption is essential today as students frequently transport their devices out of the company's secured space. If lost or stolen, the only way to access the data would be by entering the encryption password.

Conclusion

On this post we discussed why Linux is perfect for Education. Due to its free price, open nature, interoperability with open standards and enterprise features, Linux could be a great fit for your school, University or research lab. We hope you learned something today and are excited to bring Linux to the attention of your organization.

See Also

Featured Article

Free Software, Open-Source, Libre, FOSS and FLOSS: what are the differences?

Are these just different names for the same thing? Or there are differences? Photo by Romain Vignes on Unsplash We have been discussing...

Popular this Week