4 ms·
I imagine gcc4 was used due to it being the last gcc available before gcc moved to GPLv3. At least that's why FreeBSD stuck with it as the base compiler.
by drewg123 9y ago
I imagine gcc4 was used due to it being the last gcc available before gcc moved to GPLv3. At least that's why FreeBSD stuck with it as the base compiler.
- saghm 9y agoGood point! I hadn't thought of that. That being said, I thought that GPL was compatible with BSD; is that not the case for GPLv3, or was this more of an ideological choice by the OpenBSD developers? Edit: Not sure what the reason for downvoting an honest question is; from Googling, I can't find anything about incompatibility between GPL and BSD, and I didn't express any opinion about the merits of BSD vs. GPL.
- notaplumber 9y agohttps://www.openbsd.org/policy.html https://www.openbsd.org/policy.html
- saghm 9y agoTo save others who might read this thread some time, the specifics of this issue are described by this: "For historical reasons, the OpenBSD base system still includes the following GPL-licensed components: the GNU compiler collection (GCC) with supporting binutils and libraries, GNU CVS, GNU texinfo, the mkhybrid file system creation tool, and the readline library. Replacement by equivalent, more freely licensed tools is a long-term desideratum."
- snuxoll 9y agoI mean, in the case of a C compiler your code is mere data so license compatibility isn't really the concern. BSD projects don't care for the anti-tivoization clause in the GPLv3 because it restricts where the software can be deployed, the GPLv2 was acceptable because there was no better alternative at the time and, again code was data in the case of a compiler.
- Someone 9y ago"In the case of a C compiler your code is mere data " A compiler tool chain typically _does_ insert code that you didn't write. For example, seen from the point of the loader, the entry point of an executable is not main. Similarly, one could argue that the function prologs and epilogs that gcc generates fall under the GPL. Because of that, I think it is understandable that the BSD projects aren't willing to bet the existence of their projects "you code is mere data".
- saghm 9y ago> Similarly, one could argue that the function prologs and epilogs that gcc generates fall under the GPL. Can you really not compile code with gcc and have the result not be GPL licensed? This seems a bit dubious to me, although I honestly don't know enough to know if it's true or not
- Someone 9y agoIt is unlikely, and would be 100% unintended (https://www.gnu.org/licenses/gcc-exception-3.1-faq.en.html https://www.gnu.org/licenses/gcc-exception-3.1-faq.en.html), but the GPL hasn't been battle-tested in court, and GPLv3 even less so. Judging by their behaviors, it seems both Apple's lawyers and those of some of the BSDs seem wary to bet the firm on GPLv3. Quite possibly, that's just caution.
- shagie 9y agoBSD is compatible with the GPL. You can use BSD licensed code in a GPL project. The 0verall project is GPL, any enhance,nets to the BSD code may be licensed under the GPL. The flip is not true. Using GPL code in a BSD licensed project may not remain a BSD licensed project. The derivative work of a BSD and GPL mixing must be GPL.
- belorn 9y agoThrough, any enhancement to GPL code that one author oneself can be independent licensed under any compatible license such as BSD. The only code that a BSD + GPL project that can't be used under BSD is the GPL code that other people wrote. So to take an example, someone could write a GCC patch that is licensed under BSD, and then later use the same patch in clang.
- jwilk 9y agoMore precisely, they switched to GPLv3 in GCC 4.3.0.