Putting Zig and the Zig Std Library under AGPL would basically mean all Zig software has to have the AGPL license and needs to be open source. That would have a huge impact on the foss movement. The adoption rate, especially from big companies, would probably decline a little bit. But most companies are early adopters anyways, probably start ups and release there source code anyway, e.g. Tiger Beetle. The advantage of it being if someone makes a Zig project they do not have to think under which license to put it.
I think it would have a negative impact on the Zig ecosystem and effectively zero positive impact on the FOSS(il) movement.
AGPL stdlib means pretty much making it impossible for game creators and hardware manufacturers to use Zig both fields that in my view desperately need a better way forward.
Lastly, the Zig compiler is MIT and it depends on the stdlib, and relicensing would require a monumental effort.
No CLA, I think I can speak for the project in saying that we consider CLAs a bad practice.
Not being able to change the license is IMO one of the few good things of open source (I’m extremely critical of big tech’s involvement in it) The Good Parts of Open Source | Loris Cro's Blog
Thanks, that’s really nice to hear!
While I’m more of a fan of the GPL-series licenses due to copyleft, I do see that MIT and similar licenses are probably the best ones in practice due to not being copyleft.
I don’t think it would take much effort to transition from MIT license to AGPL. The hard part would be going from AGPL to MIT. You can fork the standard library right now, and license your fork as AGPL, if you wanted; the only requirement being that you maintain the copyright notice.
That’s kinda the nature of permissive licenses like MIT.
That all said, AGPL is a ridiculous license to use for a language’s standard library. Even GNU licenses their libc implementation under LGPL.
Well said. My professional interest in Zig is from the commercial embedded space where I cannot mix my clients’ proprietary code with copyleft as it’s all statically linked.
I am not a fan of licenses that exclude commercial usage, especially because I want to be able to buy games that were made using closed source code, while I applaud everyone who can afford to invest the time to make games and make them freely available, I don’t think that is something that can be expected of everyone.
I also dislike the philosophy of those licenses, I think I would rather try to inspire people to release good libraries publicly, than forcing them to make their crappy extensions publicly available. While I can understand why certain projects may choose those licenses, I personally avoid them. I prefer working with people on code that they voluntarily want to share, instead of being obligated through legalese.
I think from MIT to AGPL would be problematic in its own way, because it would cause a split in the community. Everyone that prefers MIT would continue with that.
Copyleft licenses don’t exclude commercial usage, and the GPL licenses explicitly restrict people from excluding commercial usage (as freedom 0 states: “The freedom to run the program as you wish, for any purpose”)
It’s not that the license excludes commercial usage, but that commercial entities exclude the licenses due to their business model and mindset around intellectual property. And because of the almost “viral” nature of copyleft, they discourage their employees from interacting with GPL code as well, even though the majority of the current software ecosystem is already open source, and wouldn’t have gotten to this state without licenses like the GPL to promote the FOSS movement as a whole.
Can you expand on that and in what way it allows practical commercial usage?
Also note that this topic is about AGPL which I believe is more restrictive.
The way I see it, they force open source (or at least dynamic linking) and that is something that is often not wanted in a commercial setting.
If your code is forced to be open source, your project becomes donation ware, which often isn’t viable for individuals working on small (for example game) projects.
I am not an expert on licenses, so if you know more and can explain that would be great, but I never saw how a closed source game could use something like AGPL in any way.
I don’t think that a game server would be allowed to use AGPL code without making the code for the game server also available.
Which sure may be good in some instances, but I would prefer it if there were instead consumer right laws that would ensure that people can own a game and that it remains playable in the future. So I would want there to be laws that make sure that if a company no longer wants to host the game servers, they have to either open source it, or sell it to another company that needs to provide the existing users with access to the service.
but I never saw how a closed source game could use something like AGPL in any way.
Simple. Only give the source to people who actually buy the game.
I definitely see how an open source library (whose target audience is other developers) will have trouble getting passed being “donation-ware”, but an end-user application like a game can avoid this by… just selling the app.
Like, if Elden Ring were open source, what percentage of people would actually download the source code, and compile it (or even know how to compile it)?
The GPL license family never state that your source code needs to be available on github, or be available to EVERYONE. See section 6 of the AGPL, “Conveying Non-Source Forms”, and you’ll see that you can choose among different ways to convey the source code to an end user.
And that’s just it: you only need to give your source code to the person you conveyed the object code to.
Granted, this approach would negate any piracy counter-measures, but how important are those, really?
I’ll say again: commercial entities exclude these licenses only due to their current business model and mindset around intellectual property.
I don’t think it’s unreasonable to want to protect trade secrets. It doesn’t matter if only 1 person downloads the source if that person is your competitor.
Putting Zig and the Zig Std Library under AGPL would basically mean all Zig software has to have the AGPL license and needs to be open source. That would have a huge impact on the foss movement.
I don’t think people/companies would typically go from closed source to open source just because there’s a project they want to use that’s AGPL. It might be the tipping factor for some but I don’t think this would have a “huge impact” as you say.
The strategy of publishing a project with a more open license that encourages adoption and later transitioning to a more restrictive license will influence some to adhere to the new conditions…you might call this the “Darth Vader Strategy”
I’m altering the deal. Pray I don’t alter it any further.
Projects have done this but often results in forks that maintain the project with the original license. Some examples are X.org which forked from XFree86, MariaDB which forked from MySQL and various community forks of Redis (ironically maintaining the more open AGPL license, everything’s relative). I imagine something similar could happen with Zig.
I can see use cases where CopyLeft makes sense, but, I don’t think it makes sense for every project. Open source has natural benefits and grows organically without the need for people/projects to advocate for it. The open source “cat” is “out of the bag” and it’s here to stay. I find good faith discussion, mutual respect, kindness and empathy to be the most effective strategies at having an impact on people/movements like FOSS.