Open Source Software (OSS)

3/30/2022 0:15 AM: -- Open Source Software (OSS) is software whose source code is available along w/ the binary executable(s). Or in many cases it’s *only* available in source code form and the user must build their own binaries.

Open Source Software is a huge advantage for the user of the software. It means that if the user needs to modify the software he can since he has the source code. Of course this depends on the skill of the user and the complexity of the software and amount of effort it will take to modify it. If the user needs to change the software bad enough and can’t do it himself he can pay a programmer/developer to do it.

In most cases Open Source Software is typically free. Therefore it is sometimes called Free Open Source Software. However there are different kinds of OSS licensing schemes and the software can come w/ restrictions – for example, it may not be made closed source and used in a commercial product w/o paying a fee. So NOT all OSS is actually free to do w/ at will.

There are many nuances to the many OSS licenses that exist. So much so, that probably an entire book could be written about them. However most licenses can be catergorized as “permissible”, “restricted”, and “inbetween”.

Permissible: BSD / MIT / and Apache and others are extremely permissive. They allow you to make derivative software and close the source. Therefore you can create a commercial product based on or including the OSS code and distribute only the binaries keeping the whole thing proprietary.

Restricted: Whereas the GPL license comes w/ the restriction that when you distribute the included or derivative software you must also include the complete source code as well and the recipient must also honor the same restrictions.

Inbetween: However, the LGPL license allows your proprietary code to *link* against the open-source library and keep your source closed. However any changes to the LGPL code must distributed in source form.