13 ms·
An explanation of their motivations would be helpful. I’m sure it’s great for anyone that already knows they want it, but what about everyone else? My experien
by sjansen 5y ago
An explanation of their motivations would be helpful. I’m sure it’s great for anyone that already knows they want it, but what about everyone else?
My experience managing many different flavors of *nix has been that the GNU utils are far superior, so I don’t understand wanting to replace them.
My first guess is this is targeted at embedded use, but that’s pure conjecture.
- genghizkhan 5y agoGNU tools are GPL-licensed, and there's a certain contingent of folks who do not want their userland polluted with GPL-licensed tooling. I'm not saying I like or understand this, but I have seen this attitude among a few in the community.
- spijdar 5y agoAs someone who finds this a bit appealing and perhaps speaking for others with similar "taste", it's a mixture of this, but also the sense that the BSD userland is smaller and less bloated than the GNU userland. It's the flipside of what another commenter mentioned, GNU tools tend to be more feature filled, but at the expense of code size and complexity. Similar to why some people want to use a musl libc userland. For some people, it's the licensing, for others it's about the design and simplicity of implementation.
- genghizkhan 5y agoI use the Alpine userland and so totally understand the reasoning of having less bloated tooling and the like. However, personally I prefer to apply this philosophy to stuff I have running in the background. If I'm using initscripts, I'd rather they be written using execline (and ideally running with s6) rather than bash, if it has to be a version of sh then I prefer dash over bash, builtins over external tools, nginx over apache, and so on. But having used busybox utils on a daily basis I truly do not understand how people can use them daily and not go insane. The GNU utils are so much faster and more feature-filled. To me, reducing bloat makes sense for something running forever in the background. Interactive stuff ought to be as feature-filled as possible, stuff in the background as lean it can. I realise others have different views about this, but I think I hew fairly closely to the mainstream thought about bloat.
- spijdar 5y ago> But having used busybox utils on a daily basis I truly do not understand how people can use them daily and not go insane. There's a continuum here, and that's what makes this project interesting to me. Busybox is very minimal, because of its purpose of having "all that you need" in the smallest single statically linked executable possible. The BSD userland is different, though. It isn't trying to be small for the sake of being small, but simply being simple. BSD utilities aren't nearly as spartan (in my experience) as, say, busybox, but they remain simple. I'm not sure if I'd try to run this distribution "in anger" on anything, but I'm definitely gonna give it a spin, since I prefer the BSD userland, and am "stuck" with Linux because of device drivers. That's probably just my own bad tastes, though ;)
- temptemptemp111 5y agoBased :) Alpine doesn't use dash by default, does it? :( s6 is sweet but openrc is good enough for me. I won't use sysD on purpose anymore. I'd like to hear more from people using alpine on bare metal.
- gwmnxnp_516a 5y ago> But having used busybox utils on a daily basis I truly do not understand how people can use them daily and not go insane. Busybox is meant to be used in embedded Linux systems, often found in routers, printers, cameras and etc. In those systems every megabyte of flash memory counts and every cost counts. Busybox (GPL license) encapsulates the whole non graphics userland in a single binary. An non-GPL alternative to it is Toybox which is used on Android since this tool has BSD license. Alpine distro was also designed for embedded systems, but it is now being used in containers due to the distro small footprint.
- LargoLasskhyfv 5y ago> "The rest of the userland comes mostly from FreeBSD (no busybox)."
- tomc1985 5y agoFrom a strictly licensing perspective, why though? As a user, what difference does it make unless you plan on somehow integrating `cp` et al into your source code?
- Symbiote 5y agoUsing the word "polluted" is a strong signal that you share the same attitude.
- jhkiehna 5y agoMaybe to you. To me it's a strong signal that he understands the mindset of that contingent. And not necessarily that he agrees.
- justinjlynn 5y agoAdopting the language is generally seen as a sign of in-group self-identification. The use-mention distinction is warranted. If skipped, one shouldn't be surprised if one is mistaken for espousing the views so stated.
- zepto 5y agoTrue, but it doesn’t help the person who has is making this assumption to have an accurate view of the world. They are still wrong even as they smugly blame the person they have misunderstood for not communicating less ambiguously.
- jhkiehna 5y agoso what? People generally make all sorts of assumptions. They are not necessarily correct through. You pointing it out feels like you're trying to bully him into making an admission of guilt or lack there-of of wrong-think. I prefer to give people the benefit of the doubt. Whether or not he agrees with the viewpoint he's paraphrasing is of no importance to me. I want to understand the point of view of people who think that way, in their own words. I have no interest in him filtering and watering it down to make it more palatable to you.
- salawat 5y agoThe point is, there is generally nothing to object to in the GPL unless you are specifically to constrain what consumers of your code candy do with it. If it is "pollution" to you, that means it is an inconvenience and an obstacle to you executing your goals. The GPL has not been built to frustrate anyone except those who impinge on the fundamental set of Software freedoms. Part of that is the ability to have access to the source code of any tools you are reliant on. So no, it isn't just assumptions. If you're frustrated by GPL, then either you're pissed because it thwarts your designs to create a captive userbase, or you're part of the legal/exec team trying to see if you can get away with the same. So which is it? I'm a late enough arrival that I experienced the world with few other options than closed source programs and toolchains, and I'm not about to go chasing back after it. In fact, I'd be happy to see GPL go down in flames because we all finally came to our senses and ceased this IP nonsense in it's entirety to begin with.
- znpy 5y agoEveryone thinks they're cool and everything for not using the GPL and related licenses, until Amazon (or another big player) comes and eats their lunch by offering a cloud-based version of your software (like elastic/elasticsearch)
- zinekeller 5y agoExcept that for some, they really meant it when they licensed their work permissively. (Also your point is a bit flawed, only AGPL really saves you from the Amazon situation.)
- littlestymaar 5y ago> (Also your point is a bit flawed, only AGPL really saves you from the Amazon situation.) I wouldn't be so sure, for this kind of tooling it's not like the software is exposed behind some API of some sort. When Amazon is renting you a virtual machine with those installed on top, are they distributing the software? It's not clear cut at all.
- detaro 5y agowhen they rent you a VM with GPL tools on top, they don't mind you having the source of the GPL tools.
- CyberRabbi 5y agoThe GPL doesn’t go far enough. Now corporations like GitHub are using ML to launder their usage of GPL licensed code without having to conform to the license. https://twitter.com/mitsuhiko/status/1410886329924194309 https://twitter.com/mitsuhiko/status/1410886329924194309 Any hobbiest who writes free software for the community’s benefit is doing the same community a disservice when they allow private corporations to profit from the community’s work without recompense or sharing their work back to the community. The corporations also get to use the community’s work to redirect effort away from the community to their own product and platform.
- 5y ago
- CyberRabbi 5y ago> there's a certain contingent of folks who do not want their userland polluted with GPL-licensed tooling. Facebook, Apple, Amazon, Netflix, Microsoft, Google...
- est31 5y agoGoogle is one of the earliest users of Linux. Microsoft, Amazon, Facebook all use Linux extensively as well. Only Netflix and Apple have a fixation on BSDs, but IIRC even Apple uses Linux internally for their servers.
- CyberRabbi 5y agoJust because they tolerate Linux’s usage of GPL2 does not mean they are neutral or positive toward GPL-licensed code. You mention Google, Chromium is not GPL-licensed nor do they allow GPL code in their tree. Their new kernel, Fuschia, is not GPL. Linux is a great success story of the GPL, its ubiquity has forced corporations to tolerate it and reciprocally contribute back to the community.
- pjmlp 5y agoRegarding Google, depends, they have been doing a GPL cleanup of Android, with Linux kernel being the last piece standing. But fear not, Fuchsia already did its first deployment into production.
- toast0 5y agoNetflix seems OS agnostic. As far as I know, they run Linux in AWS, and FreeBSD for their CDN.
- pjmlp 5y agoThe irony is that without the GPL, most likely those folks would be stuck with the commercial UNIX clones many of us used during the UNIX wars. While I mostly use commercial software, I definitely appreciate having had the opportunity to get Walnut Creek CD-ROMs with an OS that saved me 1h trip to fight for a vacancy on the university computer center.
- hnlmorg 5y ago> The irony is that without the GPL, most likely those folks would be stuck with the commercial UNIX clones many of us used during the UNIX wars. 386BSD (of which FreeBSD is based) is an independent lineage to GNU and was released under the BSD licence. Thus also independent to GPL. In fact for a period in the early to mid 90s, it was BSD which was used as the free "UNIX" with Linux seen largely as a hobbyist platform and Hurd little more than a pipe dream. Linux might have since become the dominant POSIX server platform but to argue that GPL was the saviour of open source is a gross misunderstanding of the history of open source (and UNIX). The reason Linux "won" was ironically because it was seen as more of a hacker OS. It was used more by kids because it was more fun to hack around with. Those hackers then grew up, got proper jobs in IT and continued to use what they were already experienced in...Linux.
- e12e 5y ago> 386BSD (of which FreeBSD is based) is an independent lineage to GNU and was released under the BSD licence. Thus also independent to GPL. Is there a non-gnu c compiler? I could only find: https://github.com/386bsd/386bsd/tree/2.0/usr/src/usr.bin/gcc https://github.com/386bsd/386bsd/tree/2.0/usr/src/usr.bin/gc... People tend to forget that Linux was a small project that provided a gpl kernel for the GNU system - not the other way around (hence GNU/Linux, Android/Linux, GNU/kFreeBSD etc).
- drewg123 5y agoThe desire for a non-gpl compiler is part of what drove the development of llvm. llvm is the default compiler on FreeBSD. Compilers are hard, and it took a while.
- protomyth 5y agoOr maybe they actual like the BSD userland better than GNU userland typical of most GNU/Linux distributions.
- alerighi 5y agoFor no reason at all. The main requisite of the GPL license is that if you do some modifications to a GPL licensed software you must give back that changes to the community, i.e. publish the modified source code (only of the GPL licensed parts, not the whole source code of the project). To me it seems reasonable enough. Apple not wanting to include GPL software doesn't make a lot of sense to me, since they still release the source code of the low level components as the Darwin project. And still they include some GPL software.
- detaro 5y agoIf you only look at "GPL or not", you are missing the detail indeed. Apple doesn't want to include GPLv3 software, and thus stuck with GPLv2 versions.
- yyyk 5y agoYou described GPLv2. GPLv3 has also anti-tivo and patent related clauses which I guess Apple is not keen to comply with.
- lightdot 5y agoYou don't actually need to give the changes back to the community, you only need to give the changed code to those you distribute the modified software to. In other words: - if you don't publish the modified software, you don't need to give the changed code to anyone - if you distribute the modified software to a single entity, you only need to give the changed code to that single entity (and they absolutely do not need to publish it) - etc. I know people mostly view this through the eyes of large public projects, forks, etc., but there more to it then that.
- deleted 5y ago[deleted]
- thayne 5y agoIf that was the case, why not advertise it as having no GPL licensed userland components? They way it's worded sounds more like they have something against the GNU organization. And the linux kernel itself is licensed as GPLv2, so they aren't avoiding the GPL completely.
- modshatereality 5y agoLet's hope thats it because the only logical alternative I can think of is that they want the ability to ship binaries with proprietary modifications, or allow others to do the same.
- deviledeggs 5y agoI never understood this. The GPL folks turned out to be right. Big tech is rife with forks of open source these days that contribute little or nothing back to the community.
- drewg123 5y agoBut the forks often DO come back. At my employer, we open source our work on FreeBSD. In addition to being full participants in the community, contributing our work back gives us a lot of other advantages. These include a wider audience for code review which improves code quality, much, much, much easier integration of fixes and features from upstream, the ability to collaborate with people from other employers, the ability hire contractors who are familiar with our code, etc. Note that I don't speak for my employer.
- deviledeggs 5y agoSometimes. But look at all the forks Amazon has done to various databases for instance. None of that work is ever coming back. And worse, they've fragmented the ecosystem by building incompatible features with the originals. If those systems were GPL everyone would reap the benefits
- doggodaddo78 5y agoLiking this or not is an immaterial feeling-based opinion. If you don't understand software licenses and their impact, then you need to read about their limitations on the stakeholders. (DDG is your friend.) GPL3 prevents TiVoization. If you want to make a "TiVo" without other people dictating what you can do with your effort, GPL3 is a nonstarter. The easiest thing to do is swap the userland for something with a better license. Rich autocrats like RMS promoting snowball's chance unreasonable utopianism, an giveaway, noncommercial self-righteousness is fine when you don't have to feed a family or keep 100 workers feeding theirs too. Such purity is a luxury of the privileged and those with nothing else better to do.
- numpad0 5y agoApple is known to use GPLv2 versions of GNU tools to bundle with macOS. GNU userland and Linux Kernel are the strongest leverages that free software community has so this might be significant in that regard.
- m0llusk 5y agoBSD have a different construction of user space and development tool chains. System libraries are made for sharing and tools are based more there than on direct kernel interfaces. To do all of this with clang and no gcc may smooth out some various complexities.
- q66 5y agoactually i had gcc in there at first, and it's roughly the same; however, clang does have a number of benefits of its own
- yyyk 5y agoI guess they want to avoid GPLv3 provisions while still distributing a 'full' system with shell and CLI tools. Linux+BSD userland gives them a decently compatible GPLv2/BSD system.
- 0xC0ncord 5y agoFrom what I can tell, Clang+LLVM is where all the innovation is happening. Clang in particular has seen many new security features for a modern compiler like the implementation of SafeStack[1] and Control Flow Integrity[2]. Even just on the functional side of things Clang has thinLTO[3], which makes building link-time optimized binaries easier on lower-end systems. None of these features are currently planned for GCC. [1] https://clang.llvm.org/docs/SafeStack.html https://clang.llvm.org/docs/SafeStack.html [2] https://clang.llvm.org/docs/ControlFlowIntegrity.html https://clang.llvm.org/docs/ControlFlowIntegrity.html [3] https://clang.llvm.org/docs/ThinLTO.html https://clang.llvm.org/docs/ThinLTO.html
- q66 5y agothe GNU tools have bigger featuresets, but from code quality aspect i much prefer the BSD ones it's not targeted at embedded, but it is an experimental project for the time being (the motivation is a split between "because i could", "i wanted to provide polished ports of BSD software" and "i wanted to experiment with making a better package build system")
- infogulch 5y agoGNU software is not only hostile to integration from a legal perspective (GPL), it is hostile from a technical perspective. E.g. GCC is (was?) famously deliberately designed to be non-portable and made impossible to integrate into other tools. Maybe there's some valid historical reasons for the mistrust of systems that could be closed, but I can also see why some might be turned off witnessing the open hostility towards integration and collaboration that is GNU's defensive response. GNU/GPL is carrying around emotional baggage of scars that its users were afflicted with at the hands of closed systems. Yes, maybe this strategy is protecting them from being hurt in the same way again in the future. But it's also closing the door on potential relationships. Love and trust requires opening yourself up to being hurt, yes, but that doesn't necessarily mean you should give up on it. Maybe the swing back towards more openly-licensed software is an artifact of people forgetting the harms done in the past, or maybe it's an indication that GPL is an overcorrection and it's time to evolve again.