GCC and LLVM - What's in a licence?
Richard Hillesley discusses the pros and cons of the GCC and LLVM compiler collections, and the difference a licence makes.
The effects of modularity and licence degradation continue to be at the heart of debates among the GCC Community, and centre around the age-old arguments about whether the GPL or BSD approach (some would say the free or open source approach) to licensing offer a better manifestation of free software.
The BSD licence has an idealistic and permissive relationship with the code. Third parties can take the code, repackage it, and pass it on in any form they wish without any obligation to feed code changes back to the community. The code can be recycled in any form, proprietary or free, as long as the original attribution is preserved. This position has benefits and drawbacks, depending on your point of view, but from the perspective of those that advocate BSD licensing, reflects a faith in the better side of human nature.
The GPL, and other copyleft licences, insist that if the code is released, the changed source is fed back to the community. Code developed under a BSD licence can be absorbed into a proprietary product, and there is no obligation to feed back changes. GPL code, and any changes or extensions to that code, must be released as free software.
The downside of this has been that the Linux kernel, unlike the BSDs, is released under the GPLv2 and has been less able to freely absorb features such as ZFS or DTrace, which are released under incompatible open source licences. Nonetheless, various ports and re-implementations of both ZFS and DTrace for GNU/Linux are under way. The upside of the GPL is that greater volumes of software have remained free for successive generations of free software developers.
Licensing is a divisive issue, but is the core difference between the philosophies of the BSD and GNU/Linux communities, and may be one of the reasons why GNU/Linux has been adopted as the universal operating system among the former Unix companies - commonality, interoperability and continuity of the software are useful side effects of copyleft and the GPL.
In This Article
Managing security risk and compliance in a challenging landscape
How key technology partners grow with your organisationDownload now
Evaluate your order-to-cash process
15 recommended metrics to benchmark your O2C operationsDownload now
AI 360: Hold, fold, or double down?
How AI can benefit your businessDownload now
Getting started with Azure Red Hat OpenShift
A developer’s guide to improving application building and deployment capabilitiesDownload now