Dr. John Yardley, Founder and CEO of Threads Software, discusses what open source software is and how it works
If you have a great idea for something tangible – like an engine – and you don’t want your idea stolen, either keep it secret or patent it.
Keeping it secret can be difficult as the plan could be leaked. Patenting it implies exactly the opposite. You publish the idea in detail, but then you have the right to sue anyone who copies your invention.
However, the software is different; in many countries you cannot patent it. Much like a cooking recipe, it can be extremely difficult to enforce copyright.
Therefore, most commercial organizations tend to keep their software secret or proprietary. While “reverse engineering” of proprietary software is possible, without access to the source code, only the operation can be copied, not the method.
So what is source code?
Computer programs are normally written in English, such as statements such as:
PRICE = COST + PROFIT
This is called the source code.
These English-like instructions are converted into computer-understandable instructions, called assembly language, which then become a simple sequence of numbers, called executable code or machine code.
It is possible to convert machine code to source code, but it will be almost incomprehensible. All convenience names such as “PRICE” will be replaced with numbers and any explanatory programmer comments will be lost.
Now that so many applications are running on remote computers in the cloud, it is becoming increasingly rare to have access to even machine code.
The general public does not like to buy proprietary software
The problem with proprietary software, and indeed software in general, is that it is a “reluctant” purchase. Because the customer sees nothing tangible for their money, they tend to think it has little value. They justify copying a version of Word by saying that it cost Microsoft nothing. But of course it is.
Microsoft Word, however, is a somewhat special case. There are thousands of programs that have been written by small companies for niche applications and making them proprietary severely limits their adoption. Without widespread adoption, they lack the critical mass of essential testing.
How can open source software solve the problem?
Open source software is one solution to this, and it has many similarities to patents. You make the source code generally available in exchange for two things:-
- If you find any issues and fix them, you share your fixes with the community.
- If you sell a product using open source code, you pay a royalty to the developer.
As wonderful as this idea is, it took a motivated community to get it off the ground – mostly programmers from academia and government. Programmers, like everyone else, have an ego and it’s satisfying to know that your code is integrated into many applications.
The first niche open source community quickly grew to include programmers from commercial organizations. Although they were initially unwilling to give away the code that cost them so much to develop, they realized that other people’s software was as valuable as their own and there was no need to reinvent the wheel. Plus, they could drastically reduce development time to make hundreds of new services viable – open source software can be tried out at very little cost.
The evolution of UNIX as an example
The main disadvantage of open source software is that, like anything you don’t pay for, you don’t have the right to claim damages if it doesn’t work. This drawback has spawned an entire industry of companies that support, and therefore monetize, open source software.
This is well illustrated by the evolution of UNIX. UNIX is an operating system (like Windows and MacOS) originally developed by Bell Labs for their internal use. It was later made available to academic institutions royalty-free and as a result was widely adopted.
Operating systems are an essential component of mobile phones as well as desktop computers and millions of microprocessors embedded in other devices – from airplanes to washing machines, providing the software infrastructure to support computer programs. application.
UNIX remains a proprietary operating system, but other operating systems were developed which behaved identically to UNIX but were written from scratch and made available as open source. One of them was Linux.
Linux quickly became very popular, but commercial organizations could not risk basing their products on an unsupported operating system, i.e. one for which staff were not paid to fix. bugs and support new types of hardware. In response, Red Hat was born and became a major contributor to the continued development of Linux, meaning commercial organizations can license Linux and pay Red Hat to support it.
Would this software have been popular if it was not open source?
It is doubtful that the UNIX “model” would ever have taken off if Bell had not made the early decision to distribute the code free of charge to academic organizations.
Thus, open source software has transformed the software industry and this transformation has been accelerated by a reliable, low-cost, high-speed Internet.
Many open source software are used in commercial applications for which the author receives no royalties, simply because it is difficult to control. Still, overall the system works and because so much today is software-based, the open source movement has been the main driver for accelerating technology development. Cons or not, it’s here to stay.
from the editor Recommended Articles