License.md:
Copyright (c) uutils developers
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
Yep. This project is definitely going to be embraced by the community in the long run, and definitely supplant GNU coreutils. The MIT and GPL ideologies are completely aligned.
To be clear, the issue is that this code that people produced for free is too free and evil corporations might... what, profit from it more than they currently profit from coreutils' existence until eventually all software is locked and proprietary forever?
Sarcasm aside, I don't see how the existence of this code or its hypothetical adoption would hurt anyone. Ideology isn't worth following for its own sake, there has to be a mapping to physical reality, and any mapping that interprets a rewrite of coreutils as bad because it's too permissive is extremely suspect to me.
Like, what does the GPL infectiousness even protect here? Coreutils is decades old. Are we worried Microsoft is going to EEE it?
Maybe... AWS release a proprietary source-unavailable CoreUtils that they stick on their VMs. They embrace it! they extend it! And then eventually the average dev needs to use the AWSCoreUtils (source unavailable, restrictive license that you can't sue Bezos etc.) to get anything done as everyone else's bash script assumes it's functionality.
instead we have EEE by GNU coreutils on proper POSIX tools and we're forced to install the GNU toolset to make scripts work
Please elaborate on the "extinguish" part from GNU/GPL.
Edit: Doesnt the existence of uutils already contradict that?
"forced to install the GNU toolset to make scripts work" is the extinguish part to my understanding
1) you can install them no questions asked
2) you can modify them no questions asked
3) thus you can get shit done
4) you can’t keep the changes you needed to make to yourself so the next one after you can start at 1)
I don’t see issues here
Actually you can even keep the changes. You only have to share the sources if you are publishing compiled binaries.
Yes, but the source is available and anyone can fix the bugs.
How does the existence/adoption of a Rust version of coreutils under MIT make that more likely to happen?
Because you can't do that with GPL. Any modification to GPL must be GPL, hence available to everyone. That's not the case with non-copyleft.
The application service provider loophole lets Amazon do that with the GPL software today. GNU Core Utils would need to be relicensed as AGPL to prevent it.
https://www.gnu.org/licenses/why-affero-gpl.html
The AGPL is for services accessed through the network. In the specific example above, it was about a set of utils available by default on a VM, which is closer to what the GPL covers (it's the same thing as the Amazon Linux that they must make available, really)
This specific case doesn't since there already has been permissively licenses alternatives to GNU core utils for years.
See Apple and Sony contributions to FreeBSD.
You missed his point. How is FreeBSD harmed by corporations using it? Specifically, is FreeBSD being extinguished ( other than by Linux )?
They are not harmed, it just that billion dollar companies are taking volunteers hard work to get even richer and refusing to contribute back. Now, the guys developing BSD obviously don't mind but many people do care.
Well if the uutils people don't mind and they're writing the code, what's the problem with their choice of license?
I've asked this question too. And the answers I've generally gotten are something like, "you may not feel like you're being exploited, but in my judgment, you are."
I take this as effectively equivalent to "you're unable to give consent" and/or "you don't have agency."
But that's the kind of mindset you're likely dealing with here.
End users are very much harmed.
That's pretty terse, and it doesn't answer my question.
Like, let's extrapolate that you mean "Apple and Sony profited from FreeBSD and didn't contribute back, and that's bad". Let's assume that the strongest possible version of that statement is true.
How does that ever translate to "a Rust port of GNU coreutils under MIT license is bad"? If Apple and Sony haven't contributed to GNU coreutils in ~30 years, they're not going to start now, MIT alternative or not. There's not going to be an Apple executive who's thinking "We've held out as long as we could, but now we're going to need to start integrating coreutils in MacOS and contributing changes back... wait, no, these Rust suckers released a MIT version, I guess we can keep being greedy!".
Companies cannot always do without copyleft dependencies. Even Google cannot write a proprietary kernel just like that (see Fuchsia). For smaller companies, rewriting FFMPEG or Gstreamer is impossible.
The more copyleft code there is out there, the less choice there is for company executives to go for the proprietary solution. As a user and as an employee, you probably should care about that. As a BigCorp executive getting an indecent salary from the proprietary code that your employees wrote but that does not belong to them, of course you will not like copyleft. But most people are employees.
Its not about profit, that comes second. Its about control. EEE could have started way earlier in history if there was no fundamentalistic GPL. They cant embrace what they do not control via copyright.
We are standing on the shoulders of copy-left giants, while patented nonsense and enshittification is hitting pretty much everywhere.
I think you are ignoring the incentive structure ruling the markets. Without strict control against the next sociopath and the next and the next, its just a matter of time even for uutils to get embraced.
No, it is not free enough.
It is indeed paradoxical, but you have to remember that we are not dealing with the natural world, we are dealing with a world with copyright in place.
If the GPL is viral then copyright is a zombie. You can whack it once, but it will never stop coming back. GPL has to be viral because of the zombie-like nature of copyright. It's a hack and a pragmatic solution but defeating copyright for software entirely would be the ultimate solution.
By tone, I assume this is sarcasm. Could you perhaps clearly state the issue?
here's an OK synopsis of why it's different, even if I don't necessarily agree with the 'style of language'
[0]: https://news.ycombinator.com/item?id=37383680
Wouldn't GPL be perfectly fine with this if it was a library instead? I don't get it.
People seem to hate GPL for no reason these days. As you said, since it is no library, GPL would be perfectly fine.
They can’t use GPL software at their $DAYJOB most likely.
Often can't contribute either. When I worked at Google, contributing to open source projects was permitted with the right paperwork etc. but there was extra caution around GPL licensed projects, esp V3.
Which to me is more of a sign that the GPL actually works than anything else.
In a corporate context, is there any risk or downside associated with making a specific contribution to GPL code which doesn't also apply to MIT/BSD?
The only downside I can perhaps think of is a strategic one: endorsing the use of GPL in general and contributing to a healthy copyleft ecosystem, which may be disadvantageous to a giant corporate like Google.
If you make a contribution to GPL, the entirety of your contribution must be GPL. If you're using some internal library, you must make your library GPL. If your library is GPL, anything that depends on it must be GPL.
For-profit companies don't like sharing and making the community better if it doesn't make them 10x richer, so they don't like GPL.
Not true at all. You cannot alter license of a library at all if you are not the author. You can select or change license for your own code only.
I was talking about an internal library as in "a library developed inside My Company that is not made public"; as someone working for My Company, you'd have the responsibility to change the license of said library.
Of course if you're using a library you're not an author of, the library must already be compatible otherwise you just can't use it.
You can define what your contribution is, right? You can publish any code you like under GPL, with zero further commitments as far as I'm aware. It doesn't have to be working software, it doesn't all have to be licenced the same. The copyright is still yours and you can do what you like. You can sell the software. You can enhance it and keep the enhancements proprietary and secret. You can use and sell the enhanced software without providing source code
The only obligations come if a company (or individual) accepts GPL contributions from outside, because they don't own the full copyright any more and have to obide by the licence of the code they accepted from outside.
Yes, there is risk to contribute back to opensource project in form of bug fixes or code updates.
For a smaller company, [A]GPL would provide only upsides, especially in terms of protections against freeloaders, and that's why companies are using it.
And, amazingly, people manage to blame GPL rather than blaming google.
of course! they get money from google and zilch from GPL.
“It is difficult to get a man to understand something, when his salary depends on his not understanding it.”
And most of that salary comes from corporate surveillance or SaaS...
Exactly! As an employee, I don't give a shit about the paperwork needed by my company. What's best for me is to have my code open sourced. If my company is forced to depend on GPL code (because it can't write it from scratch itself), then that's good for me as an employee because it means that my code will have to be published according to the GPL!
Employees should push for copyleft. Whoever owns the code obviously wants the choice to keep it proprietary, but the vast majority of devs do not own their code.
People have reasons, personally I don't like placing the burden of a viral license on people. I don't write code to further a copy-left cause, I write it to build things and make it easier for other people to build things.
But by doing that, you don't protect the users. If a commercial entity writes software that depends on e.g. an LGPL library. Then I as a user totally benefit from the fact that is it LGPL. Maybe it can even allow me to update the dependency myself, be it for security reasons, or for compatibility reasons (I could patch something in the library that would make the whole project work on my machine).
By not using copyleft, you make it easier for others to make proprietary products with your code. But is that what you want? As a user, are you happier with a proprietary Windows or an open source Linux?
I prefer Windows, actually.
I think the problem with this argument is that you think the user wants the source code. I agree that would be great ideologically but 99.999% of the people using computers couldn't care less. Not just non-developers but even the best programmers would rather just pay money to not have to fix someone else's bugs. Nobody wants to waste their time replacing libraries. They just want to use software. If we're being pragmatic about what is good "for the user" then the best thing for the user is that there are as few obstacles as possible for developers to create products for the users to use.
If we consider the dichotomy of use the viral license or make no software, then the user will always prefer to have software that exists in proprietary form than having no software at all. If a company doesn't like GPL, they'll simply not use GPL code, and maybe not using GPL means their product is not viable anymore because they have to rewrite everything themselves, and now something that was going to be made isn't going to be made because they can't get free labor. Is that good? According to GPL and FOSS, yes. According to the user that wanted to use that piece of software, no.
I have to add this feels so awkward because every time there's a thread about AI you'll find someone saying that the fact that data is copy-able renders copyright a thing of the past, and then you turn around and you see GPL and no-no-no-no-NO! You want to copy MY source code, my LABOR, and use it for free in your proprietary products? That's completely unfair! And next week there's a new OpenAI lawsuit and everyone's like "if you didn't want to get scrapped, shouldn't have posted it on the internet." It's so awkward.
I want the source code, so I want developers to push for copyleft. I am a developer, so I push for copyleft on my end, for the others who want the source code like me.
I regularly need to patch some (open source) software I use. I probably couldn't pay for it (not sure if anyone would fix it for me), so I don't have a choice. The proprietary alternative is that I just can't have the damn software fixed.
When you make it as easy as possible for developers, you end up with ElectronJS crap and similar. With proprietary protocols, nobody can write a different client (e.g. to make it more accessible). I don't consider this good for the user.
First, there is not only GPL. The weakest copyleft I know is MPLv2, which requires to share the modified files. If a company's product is not viable under those conditions, then that product is simply worthless.
Second, as an open source developer, I don't really give a shit if another company that is not paying me is not viable with my copyleft license. I am not working to help them make money while making the world less convenient for me.
It's not weird: I don't want AI to train from my code without permission. BigTech can abuse my licenses because they are too powerful for me to do anything about it. It's just a shameful workaround, and I am hoping that new licenses will come out that explicitly forbid ML training, so that I can update my licenses.
I surely don't say that. People who say that have no idea how copyright works, there is nothing worth discussing there.
I think at this point the vast majority of linux users are indifferent to the difference between copyleft and non-copyleft licenses (and of those that do care, they are likely to lean against copyleft). Whether this project actually has enough advantages (and small enough disadvantages: compatibility still seems to be far from complete enough) to be adopted by users or distributions is another matter, though.
What is this based on? Asking in good faith.
My impression that the vast majority of linux users who are thinking about code licensing are using it commercially and so copyleft represents an extra burden on them.
(also, IMO, copyleft vs non-copyleft doesn't seem to make a huge difference to the outcomes copyleft advocates claim to care about, especially to the average user - most MIT licensed projects still generally receive contributions from people using them commercially, and some GPL projects (linux itself suffering from this greatly) still suffer from being fragmented by proprietary patches and forks, even if the license is being complied with.)
I would say copyleft licenses can even be better for a business, since they make sure, that competitors cannot grab and run, but need to contribute back. Businesses just need to understand, that copyleft also applies to the competition, when they use copyleft licensed projects.
Agreed, and as a friend pointed out to me years ago, there's nothing stopping people who author GPLd code from making it clear that if a corporation wants a different licensing arrangement for something that's under GPL, they're perfectly capable of negotiating that with the author and paying for it.
That this doesn't happen often shows the motivation of most companies using open source is ultimately ... just looking for free work.
Entering into contracts is really annoying. Companies don't just hand out checks, they have accountants who ask "what is this for, how is it being spent, how do we pay taxes on it", etc. "Pay this random developer that you have no pre-existing relationship with" is not as trivial as it sounds.
There’s also “how do we know they’ll be around three years from now for support?”. Working with a company feels more secure in that respect, especially if that company is large and reasonably old.
The “this” in “That this doesn't happen often” can also refer to “people who author GPLd code from making it clear that if a corporation wants a different licensing arrangement” not happening very often.
Yes, there are projects that explicitly mention it, but I think those are in the minority.
This can only happen if they are truly making the project only themselves and accepting external contributions only via a CLA—and I expect the mere existence of CLA to reduce the amount of external contributions in itself.
Yes that's a fair point. If I recall Googlers are just completely forbidden from contributing to projects with a CLA.
It's rare that this weighs heavily compared to the administrative burden of complying with the GPL. Most open-source code (especially things like coreutils) is effectively commons: something which many companies rely on but doesn't represent a competitive edge to them. So there's already a strong incentive to contribute upstream: it's easier than trying to maintain your own fork. A competitor hoarding their own contributions is more likely to be shooting themselves in the foot than giving themselves an edge.
My experience working professionally in a permissive open source project is that the vast majority of commercial use is not contributed back (very often it would be very low quality anyway).
I don't see this as an argument in favour of permissive licences: proprietary patches and forks are also happening with permissive licences.
My impression is that it is like wearing a face mask when you are sick. You should wear a mask to protect the others, but people generally don't give a shit.
There is no extra burden in choosing a copyleft license for your project (you still have the copyright, you can do whatever you want with it). What creates extra burden is when you use copyleft dependencies. But that's not your choice.
And as a user, I'm pretty sure you are happier if code that you don't own is open source. All devs should push for copyleft licenses because it benefits them as users. But for some reason many are pushing for whatever is best for companies who employ them.
I agree. I’d speculate that projects being hosted on GitHub is a big part of that. With the code and discussions around it happening in the open, and the barrier to contribute substantially reduced it’s hard to justify forking it internally and maintaining the fork.
The path of least resistance is to clone it from GitHub every time and to contribute changes back, regardless of license. For most projects we don’t need the GPL to compel this behaviour because that’s not what many (but not all) companies are doing in any case.
This isn’t a blanket statement though. Obviously the size of the project matters, the scope of the changes made etc. For example phone manufacturers always fork Android and add their changes on top. They only release the code to be compliant with the GPL, and they do so grudgingly. Having Linux licensed under GPL benefits us.
But other projects? Doesn’t make a difference. Who is forking (for example) git and making private improvements they don’t contribute back? No one. It would be just as feature filled, useful and successful whether it was MIT or GPL.
The vast majority of Linux users are indifferent to lots of important things, operating systems are complex and there are too many parts to keep abreast of.
However, the foundations are largely GPL-licensed because the GPL is superior in the long term. If people want to donate their time to companies then good luck to them, but it is a stupid strategy to donate free time to companies. If a company is paying good money for someone to write BSD-licensed software then sure, but otherwise the developer is playing a mug's game. Not a universal rule, I can see why some crypto or standard reference libraries might want to be BSD licenced. But by and large it is an invitation for parasites to attach.
Hell, even library type software could be licensed under "weak" copyleft license such as LGPL.
Or worst case even MPLv2!
I would expect more permissive licenses in the future. GPL was instrumental in changing the world to an open source mindset. It fixed the problems with software that became obvious in the 90s. The world has evolved and the restriction just feel outdated now.
Agree, tho worth pointing out that GPL licensed software is still subject to parasitical behaviour from SaaS companies. While the AGPL can plug that, it is very unpopular.
Sure, users shouldn't care. The ecosystems ought to serve the users after all, and it should be sustainable, competitive with other ecosystems, etc. But all these instrumental goals are on the developers, and if carefully choosing licenses for each project can help with this, then it makes sense to pay attention to which project has which license.
Coreutils? Probably here the importance is to provide the interface the users want. And provide it everywhere thus allowing the ecosystem to grow and be able to move to other platforms even. This might require a BSD-like license. (These tools evolve slowly, and usually doesn't represent some huge know-how that other ecosystems want to lift, here the well-known efficient CLI experience is the value, which might be fair-use copyable, but as we see - for example Apple - doesn't care, and thus basically users are left with worse defaults.)
Filesystems? Stability, cross-platform compatibility, but also usually decades of extremely valuable battle-testing culminates in a specific codebase+ecosystem context. It's hard to replicate with simple copying, but of course much easier. In practice with ZFS we see that the licensing incompatibility serves to provide fewer options for users.
Drivers? Databases? Kernel? Where does the TiVo problem rears its ugly head? And what does the relative lackluster GPL enforcement track record tells us here? What about the more important problem with non-upstreamed but-shitty-as-fuck Android drivers? Are they good or bad for users? Which ecosystem are they a part of?
So, it seems, that even if one cares about licenses the big takeaway is that they matter a lot less than the other things required for a successful source-sharing community-driven project. OSI approved or nor.
(For example I have no idea what license Terraform has .. okay, I checked, it's MariaDB BSL, and OpenTF is now MPL2. So I don't think MIT/Apache2 or AGPL3 would have made a difference in Hashicorp's hostile stewardship.)
Yep.
GPL is the greatest thing that has ever happened to software and this stuff seeks to destroy it.
As we all know, evil corporations have waited all this time for the opportunity to ship modified versions of specifically non-BSD coreutils without sources to end-users.
It's mostly that evil corporations have waited to get free work from the community on everything, and they're now getting it.
I think a broad bias against copyleft has existed because people felt that it got in the way of just "getting things done" and felt that significant efforts contributed to BSD-style licenses would just "get rewarded" through patronage from the larger entities in silicon valley; leading to jobs, or donations, etc.
I think that worked for many while the job market was pumping, VC was flowing, and the BigCorps were hiring and spending money like crazy. So people didn't feel particularly exploited.
But I'm expecting the bias in the community will shift back to copyleft as the BigCorps show their true nature with the rounds of layoffs, mandatory RTO, cutbacks in perks, etc.
Why spend a single moment of your time doing unpaid hours doing free work for these people?
I've personally gone back to putting my (modest and used by nobody, to be fair) projects under GPLv3.
Consider using the AGPL. Your users will be better protected by that. (If they use your software via third-party server, the middlemen cannot forbid your users to access and modify your source code.)
In practice AGPL is treated like a source-available license, not an open-source license. Most devs keep their distance from it
What a world we live in, mate. What a world.
Good.
If you think “your users” could include those middlemen, GPL might provide that subset of your users more useful/usable rights. There are reasons for all three of GPL, LGPL, and AGPL to exist. No one of them is best for all circumstances of software.
To me it's a balance of things. If I want to ever take external contributions, it's even harder with AGPL. So GPLv3 is sort of the compromise.
The stuff I write isn't likely to be used by anybody who isn't "weird" and nerdy anyways so I don't fear theft from SaaS right now.
Agreed.
I don't really get why some employees push for permissive licenses. As an employee, my code belongs to my company, not to me. If I somehow have to depend on e.g. a GPLv2 project, then suddenly my code gets higher chances of getting public, which is better for me as an employee.
Say my company allows me to open source my code, then copyleft is (again) better for me as an employee, because I force other companies (those who would use my code) to publish more of their code.
I don't really get why some employees push for permissive licenses
It makes sense if you consider that for many people their projects are kind of like a resume or a branding situation. "Owning" a project or framework is like building up a portfolio. And for some GitHub is as much a social network as it is a utility. I was definitely in this mindset after I left my long-term job and needed to hunt for work, and I understand the motives in a sense. If you have your stuff under permissive license, more people will use it, and your own "brand" is bettered.
But I think in the long run it's not great.
Licenses should be evaluated in context.
1. For anything internal, they already had free work from GPL. They can even modify it - the for them unfortunate side-effects only apply if they need to distribute it to outsiders, as only those receiving a copy need access to the source.
2. For anything external in this particular example, they can either use GPL projects unmodified (no effort required on their part in that case), or they could get all these bits from BSD with a BSD license already and do whatever they want.
GPL - and more importantly, AGPL - is definitely important for full-fledged products that can be monetized and abused, with improvements never made available. Note that no common license require any degree of upstream collaboration.
coreutils on the other hand isn't such a full product. This project hardly enables anything new - they could just use a BSD userspace or other portable coreutils clone - but if I end up exposed to some included coreutils in a proprietary product, I'd much rather have that they could easily include a proper one. The same logic applies to many other things too.
> GPL - and more importantly, AGPL - is definitely important for full-fledged products that can be monetized and abused
With GPL3, that covers pretty much everything from laptops to online databases. Which is why Apple, for example, has worked very hard to rip any GPL code out of their systems.
> This project hardly enables anything new - they could just use a BSD userspace or other portable coreutils clone
Yes, but it is a competitive disadvantage to ship something less familiar. Again, the Apple example shows most developers would run to replace the shipped utilities with GNU versions instead, which was good for the ecosystem as a whole - less so for Apple, of course, which lost some control on target toolchains and suffered a competitive disadvantage towards Linux machines (minor, sure, but every little helps).
It's sad that this particular project is headed by Mozilla people, who are supposed to care about the health of the opensource community as a whole, and still does the wrong thing - probably out of a (vaguely desperate) hunt for widespread adoption of Rust, at the expense of the overall free-software community.
This project isn't related to Mozilla at all.
Clang on Mac is closed source. We're already swinging back away from being able to know what went into our binaries
Every time someone has said something to the effect of "it'll never happen" it happens, and then some.
You need to understand how evil corporations work. They may be composed of perfectly reasonable people but, taken as a whole, they are literally psychopathic. It's not that they are "waiting" for something to be possible, it's just that at every step they will take anything and everything they can and give back as little as they possibly can.
Have you ever been in such a corporation and tried to say you should release source code when you don't have to? You'd be laughed out of the room.
Don't be fooled by companies like Microsoft taking part in "open source". They have simply calculated that right now it's advantageous for them to appear that way. But they are always taking the maximum and giving back the minimum, no matter what. We won't change this, but we can raise what that minimum is. That's why we have the GPL.
People like to shit on GPL, yet Linux and GCC would never had happened if it wasn't for it.
FreeBSD has after all enjoyed lots of upstream collaboration from Sony and Apple. /s
I don't care about what UNIX flavour I get to use, had it not been for Linux, most likely I would still enjoy Solaris anyway.
Which is what would have happened if BSD wasn't tainted by the lawsuit.
Why wouldn't it?
FreeBSD seems alive and well, and its doing quite well for itself despite not having as many upstream corporate contributions. And why should freebsd care if Apple, Sony and Microsoft repurpose their software? If something I wrote ended up in macos and the PS5 I'd think that was pretty cool.
You'd think it was pretty cool, sure, we all would... but imagine you lose your job, the job market sucks, etc. you're on your 8th month of unemployment and having a hard time making mortgage payments and you see a company like Sony shipping something based on your own open source stuff... but without contributing back, without attribution, and without compensation?
Real world scenarios like this is what led people to embrace the GPL.
When times are good, corporate use of open source trickles down to the community in the form of patronage and employment. It is not always the case that this happens during "bad times."
...whereas if you had used GPL you would still be unemployed in a lousy job market on your 8th month of unemployment and having a hard time making mortgage payments, but would have some Sony source code to look at and use.
But I'd have sweet sweet moral vindication ;-)
Nah. Sony would probably just write their own code, or build their software on top of something BSD/MIT licensed. You'd still be unemployed, just you also wouldn't be able to write "My code is in the PS5" on your resume.
GCC was originally written by Stallman, and greatly improved through the late 80s and early 90s, in part IIRC by a number of hardware vendors who thought it was a better way to get a high quality compiler than paying Whitesmiths, MetaWare etc.
BSD could have become fully free with the portable C compiler (pcc) but in the early 90s it only supported the VAX and Tahoe (CCI Power 6/32) architectures, and I don't think would have been a good foundation for a modern compiler. Various folks had hacked versions of pcc in the 80s to support other architectures, but the code didn't go back upstream.
Without GCC, there's a good chance that the entire FOSS ecosystem wouldn't exist.
Also, GCC was largely ignored until Sun broke the UNIX delivery model, splitting Solaris into user, and developer tooling paid separately, quickly followed by other UNIX vendors.
Ok, it would be alive. But I'm not sure you can compare Linux and freebsd and not see a difference in "liveliness". I don't think Linux is technically superior to freebsd, or at least wasn't for most of its life, yet Linux still gets orders of magnitude more usage/contributions/drivers etc. So it must be something else, and I think the license is a pretty good factor in this case.
I suspect it’s just momentum. Just like how game developers target windows. Success breeds success.
Linux wasn't GPL until 0.12. Less than a year after the first release. Not sure what exactly is meant by "happened" here so maybe it fits or maybe not.
0.12 hardly mattered to anyone but Linus.
Indeed. Linux was created without being GPL, but it was GPL before it got widespread usage. I guess you meant the second part for "happened".
That happened already, if you haven't noticed yet. Android has used Toybox (0BSD) as its coreutils replacement for a decade. I don't see any reason to particularly criticize uutils for this exact reason at this point.
Yes Android is definitely representative of the community...
I've interpreted that as the user community, because your statement would be a tautology if it were the free software community instead.
The "community" in this case would be one having input to selecting which version of coreutils any given distro may bundle. That's typically not users, even in more engaged linux distro projects. It's certainly not android users.
And while any corporation is ultimately made up of individuals with presumably some limited autonomy in software dependency choices, it seems a bit of a stretch to refer to google employees as a "community" fitting into this context.
That's an extremely narrow definition of the community in my opinion. And even that doesn't adaquately consider the vast majority who do have but do not exercise that autonomy---Linux container users won't care if the container is based on GNU coreutils or Busybox or Toybox, they only care about the image footprint. (And this made Alpine Linux huge in the world of containers.) I believe that, even under your definition, it is only a small fraction of that community who explicitly want GNU coreutils. Not necessarily good thing, but just a sad reality.
It is extremely narrow, simply because that's the narrow definition that's relevant here. The gp was discussing whether or not it would be used - the people responsible for the decision to use it are... the people in the community making said decision.
This isn't a subjective debate on the definition of the word community. This isn't about excluding people on merit. It's just literally a discussion of who's going to make or break adoption.
I'm not sure what point you think you're making talking about users caring about coreutils - ultimately that depends on those users being engaged in the decision-making process.
Alpine is btw an excellent example - one can make a good argument that that example supports adoption of this Rust rewrite. The only point I was contributing is simply that Android is an extremely bad example to use in such an argument.
I guess it very much depends on any definition of "the community" then.
Your sarcasm aside, GNU doesn't hold the exclusive right to make the coreutils, nor the demand to put them under GPL. After all, they're just an implementation of the POSIX spec (which to be fair tries to implementation match) and non-GPL coreutil utilities do exist (Both OpenBSD and FreeBSD for example have their own set of coreutils that are well, BSD licensed.)
Where can one read the part of POSIX which describe Coreutils? I always thought those were just GNU tools.
Just check the spec itself. It pretty much describes the expected commandline syntax and behavior for commands the coreutils provide[0].
GNU coreutils is on its own a superset of a part of the POSIX spec (they started as rewrites of several Unix utilities), which mostly means that they added a bunch of extra flags and options. The other half of this is GNU bash which includes the non-command parts of POSIX such as shell syntax.
POSIX itself meanwhile is basically a reverse spec (very much like how the C standard isn't really a standard, it's just a collective set of rules all notable C compilers follow); it was made to unify all the various Unix offshoots that were being developed and define a common set of commandline utilities and rules that they all shared. (Nowadays, that's mostly the BSDs, Linux and MacOS. Windows is the only notable OS that doesn't really do anything with POSIX besides a few aliases.)
[0]: See for example the POSIX reference for cp and you'll see it's pretty similar to the GNU cp manpage - https://pubs.opengroup.org/onlinepubs/9699919799/utilities/c...
The open group documentation (which is the source of truth) is also available as manual pages (via the Linux man-pages project) so you can access them from your terminal, eg `man 1p mv`. On ubuntu/debian, they're in the manpages-posix (1p) and manpages-posix-dev (7p/3p) packages.
https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/man...
It isn't about that though. Of course GNU doesn't hold that right, who said they did?
Even then I think the amount of people who care about MIT vs. GPL isn't large enough to be relevant.
"Communities" (really, just distro maintainers, I don't think most people will install their own coreutils) aren't really that aligned to the GPL as the parent likes to imply they are (the only real license alignment usually is "no proprietary if we can help it", which makes GPL vs MIT equal and probably even leans slightly towards MIT because that permits more functional systems in restrictive environments.)
A distro's choice will probably come down to feature completeness, safety down the line and ease of maintenance. In that regard, uutils is a much scarier thing for GPL adherents than the coreutils, which suffer from the classic GNU Project bloat problems as well as being written in C, neither of which will ever be fixed (due to structural GNU Project reasons as well as it just being a 3 decades old software project.)
I'm so relieved to find the top comment here is about the licence. The trend towards MIT-style licences and away from the GPL is a worrying one.
I don't understand the problem people have with the GPL. The GPL is there to ensure free software stays free forever. In a world with copyright this is the only way to do it. Permissive licences and public domain do not work.
Companies like Microsoft hate the GPL. This alone should tell you that you, an individual enthusiast, should probably love it.
It depends, like all things. I am fine with the GPL, but there are ways it hinders open source. A primary example, Linux can benefit from BSD and MIT licensed code, but it doesn't go the other way. FreeBSD can not benefit from GPL code. At least on the BSD side of things, that is why the GPL is disliked. As an example, FreeBSD developers can write a filesystem with the BSD license and Linux can sort yoink that code out of the code tree and use it (supposing nothing special needs to be done with interfaces and such). But the reverse isn't true. If Linux developers write a new FS in the linux kernel and throw a GPL on it, FreeBSD can't utilize that code.
No, FreeBSD can very much benefit from GPL code. The choose not to use it.
Is it even legal to take a GPL-licensed code, translating to Rust ensuring it is exactly compatible, and then releasing under non-GPL? I thought you would need to extract a clean-room specification from it first, and ideally have separate people extracting the specification and writing the new code.
You can use the man pages as your reference. Another comment also mentioned a test suite. I think using that to check how equivalent your attempt is does not violate the GPL.
I had the same thought. This very much feels like a derived work. Since they (aim to) replicate the behaviour if the gnutils, and not just some generic posix utiles then I think it would be hard to argue the GPL doesn't apply in a legal sense. I think in a moral sense it very much is a violation, since the GNU authors presumably intended for their work to be built on only by further copyleft works.
???
The BSD projects' userlands have been used by other projects. If I want a Unix-like userland that is permissively licensed, I already have several to choose from.
Is there any pressing need to be bug-for-bug compatible to the GNU counterpart?
(Just to be clear, I am not opposed to this project, but I'm not sure how many people will rejoice and adopt this just because of the license. But I'll admit I am going on vibes here.)
Drop in replacement with less license issues, reactionary types endlessly arguing the notion of freedom, code that just works, and lots of development activity. What is there not to like for the likes of Red Hat, Ubuntu, Google, Amazon and others providing Linux based products.
In all seriousness, if you remove all non GPL licensed software from your Linux distribution because it's not pure enough, you'll be left with something that is a bit less comprehensive than your average operating system. It would miss things like a UI for example. Because both X Windows and Wayland are MIT licensed. A lot of popular server software that made Linux successful. And generally a lot of stuff that most of the OSS community uses and depend on every day. Like OpenSSH which is BSD licensed. Or things like Apache httpd (for which the Apache license was invented), etc.
The GPL vision where all that stuff was going to be GPL licensed just never played out that way. Developers and companies decided otherwise. And this is fine.
It's is not a problem that a lot of people believe needs fixing (as evidenced by a lot of non GPL OSS without good GPL alternatives). But of course if you feel otherwise, best of luck fixing that problem. The world runs on software. A lot of that is free and open source. And most of that is not licensed under the GPL.
If you're going to make facetious arguments, make them towards beliefs held by people who actually exist.
FWIW about this topic, gitoxide is another project which seems to be in the vein of "rewrite a fundamental C thing in Rust, and at the same time switch to a non-copyleft license" (in that case, Apache)
An unfortunate trend.