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.

Advertisement - Article continues below

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.

Advertisement
Advertisement - Article continues below
Advertisement - Article continues below

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.

Featured Resources

Staying ahead of the game in the world of data

Create successful marketing campaigns by understanding your customers better

Download now

Remote working 2020: Advantages and challenges

Discover how to overcome remote working challenges

Download now

Keep your data available with snapshot technology

Synology’s solution to your data protection problem

Download now

After the lockdown - reinventing the way your business works

Your guide to ensuring business continuity, no matter the crisis

Download now
Advertisement

Most Popular

How do you build a great customer experience?
Sponsored

How do you build a great customer experience?

20 Jul 2020
Labour Party donors caught up in Blackbaud data breach
data breaches

Labour Party donors caught up in Blackbaud data breach

31 Jul 2020
Why it’s time to expand beyond 16:9 monitors
Advertisement Feature

Why it’s time to expand beyond 16:9 monitors

21 Jul 2020