What is open source software? A definition & history of OSS
Open source is now used by 99 percent of Fortune 500 companies.
If you or your team build software it’s more than likely you’re building on someone else’s open source project. The open source community is global and diverse, with software collaborators uniting across time zones to manage large, complex projects. So what is behind the unprecedented success of open source?
A brief history of open source software
Back in the 1950s and ’60s, the early years of software development, close to all software was open source. Researchers and academics created and shared code with their peers, in the spirit of science.
In 1969 AT&T Bell Labs developed a small-scale operating system called UNIX, which was a key contribution in paving the way for data to be shared. They had an ambitious goal: to design a portable, multi-tasking system, able to be used by multi-users in a time-sharing configuration. They used a program language called C – which became one of the most widely used programming languages of all time. The essential point: data became portable.
In the 1970s and early ‘80s, when companies like IBM and Apple were developing and selling their first computers, copyrighted technology and proprietary software become more usual, bringing with it high associated costs. By the 1990s closed software had become the standard, and the price of software grew significantly compared to hardware. Jim Zemlin, open source innovator and Director of non-profit open source advocate Linux Foundation, says “software was a finite commodity that people hoarded and wanted to sell as a product”, with software development a skill used by a specialised few.
The open-source movement maintained its momentum in response to proprietary systems. In 1983 the collaborative GNU Project was begun by MIT software designer Richard Stallman. Its beginnings were simple – in the ‘70s a printer in the MIT artificial intelligence lab was getting regularly jammed. Then staff programmer Richard Stallman accessed and altered its source code, making it so when problems arose it would send a message to everyone in the lab saying ‘go fix the printer’. When a new printer was purchased Stallman found he was unable to access the source code – even on request. Annoyed – he quit his job and started up GNU.
Open source operating system Linux was released in 1991. By the turn of the century it was used by NASA, Dell and IBM. As Linux grew, other open source data systems such as MySQL and Apache gained popularity. However, the software development community was still small.
In 2007, in a bold move Google brought the open source movement in from the fringes. They released Android Smartphones running on an open source operating system, opening up their phones to a whole new market of third-party phone developers.
Today, open source software is everywhere. Most software uses components that are open source and the proliferation of OSS has become competitive and many-playered. Microsoft’s Github has become the biggest open source code sharing platform in the world.
Businesses are increasingly relying on the complex web of open source technologies to build platforms quickly. Whether they know it or not relying on the vast open source community to build to fit.
Companies in every industry, from Exxon, Walmart and Goldman Sachs in America, to Spark, the NZ government, education provider Auckland University of Technology, have open sourced their projects, while 99 percent of Fortune 500 companies use open source.
The Open Source Definition
- Free Redistribution – no restrictions on selling or giving away components of the source code
- Source Code – with easy means of obtaining the source code
- Derived Works – allowing for modifications and derived works
- Integrity of The Author’s Source Code – the licence must explicitly allow distribution of software built from modified source code
- No Discrimination Against Persons or Groups – available for anyone to use
- No Discrimination Against Fields of Endeavour – the programme cannot discriminate against any person or group using the software, no matter the use or goal
- Distribution of Licence – the rights to the programme apply to all whom it is redistributed to, without any need for additional licensing
- Licence Must Not be Specific to a Product – The program rights cannot be specific to any particular software distribution
- Licence Must Not Restrict Other Software – The licence cannot restrict other software, such as making other programmes open-source if they’re designed for commercial use
- Licence Must be Technology-Neutral – The licence must be usable for any type of individual technology or interface.
Open Source Institute (OSI) documents an extensive list of OSS licences.
Cracks in open source
By the late 1990s, cracks were beginning to show in the philosophy underpinning open source. Concerns were raised about its value and goals. Since launching the GNU Project, Stallman has called out open source projects as often limited to practical and business goals, ignoring the underpinning ethics and principles that advocated for users’ essential freedoms:
“‘When we call software ‘free,’ we mean that it respects the users’ essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. This is a matter of freedom, not price, so think of ‘free speech,’ not ‘free beer’.”
Yet committed developers contribute to coding projects for reasons not purely about money or other extrinsic reward. They’re motivated by contributing to a higher purpose, working as a collective.
Most unique code remains closed source software, internal to corporations. The idea of offering both open source and free for use code might strike some as a strategic challenge. As one somewhat cynical Linux collaborator wrote, “Proprietary software is an addictive drug, and vendors know they can get away with open sourcing the soft stuff while keeping the hard stuff proprietary.”
The two terms today now are used interchangeably. This is understandable given free software, such as LibreOffice, and open-source software, such as WordPress, both allow source code to be examined, altered and added to. An essential difference is that the open-source coders are typically happy to co-exist with paid options, while the ‘free software’ movement tends to refuse to cooperate with proprietary software.
An example of an operating system that is both open source and free, is Linux, making software fully customisable.
Change your process, improve your team
Open source development is dynamic, changing at a rapid rate. This means that companies who don’t adapt to meet this type of innovation area are in danger of falling behind.
As most open source relies on volunteer hobbyists – essentially unpaid labour – it might not be immediately obvious how open source could be monetised. Yet companies like Red Hat have built an open source platform that has support services users can pay for. Others like MuleSoft and MongoDB use open source to have the core processes are free but with add-ons and other useful elements that are proprietary.
Even though open source development requires different methods than many organisations are accustomed to, it is easier with a clear plan to follow.
Code quality and code reviews are key issues in software development. Without code that is accurately structured and consistent, it wouldn’t be readable to either the compiler, or sharable between coders. Still there are no standards of what makes code ‘good’ which therefore limits shareability of coding skills.
Samsung staff, for example, are equipped with Linux devices that work with all of the tools its developers need to participate in open source development. This allows developers to join the team without needing major changes or training to how they work.
With the significant energies that go into software development, open source coding can be a big plus in resource savings. Using open source code can improve outputs and minimise the cost of code maintenance.
Sharing code also helps development teams collaborate. It allows team members to build on and learn from each other’s ideas and review each other’s work, raising the bar across the organisation. Reviewers may be knowledgeable about the code base or programming techniques that could be used across different coding scenarios. There are strong indications that positive, sharing interaction and communication strengthens social bonds within a team.
The success of the open source movement shows that knowledge sharing and collaboration are much more than feel good buzzwords – they’re the hallmarks of effective business strategy. When everybody works together we can get innovations out there faster.
Veeam® Cloud Data Management™ Platform is the most complete solution to help our customers evolve the way they manage data, making it smarter and more self-governing while ensuring its availability across any application or cloud infrastructure. It’s a single platform for cloud, virtual and physical to meet all your needs. It helps customers on the journey to modernising their Backup practice, accelerating hybrid cloud, and adhering to data security and regulations.