Open Source Licenses

From my time hanging around the Rust community I’ve noticed the same, people choosing MIT/Apache 2.0 licenses and borderline scolding anyone using anything more restrictive than LGPL. It’s weird.

Personally, these days I’m unapologetically defaulting to A/GPL even for library code. The recent Bambu Studio situation only reinforced this for me.

3 Likes

Assigning your copyright to someone else is not possible in quite a lot of jurisdictions.

In this example AGPL didn’t help here it seems.

Not what I’m seeing with the amount of heat Bambu Lab is catching and their lack of a proper legal response following their vague, unsubstantiated threats

But that’s a little off-topic

I’m on the younger side. And I definitely care about free software, I put a lot of effort to ridden myself from as much proprietary software as I can. Yet I still find myself going with MIT, CC0, or Unlicense a lot of time. My best explanation for this choice is probably that I write mostly libraries, but that’s not leak proof since I also permissively license my binary projects.

In my case it probably mostly boils down to me finding GPL removing a lot of freedom for me as a potential user of GPL code. Whereas with MIT I can still choose to license it myself. From a GPL library writer perspective; with GPL even people whom I think should be allowed to use my code won’t, just because their project is already MIT or BSD or whatever license they use.

It mostly feels like copyleft is like a sharp boundary that divides the open source space, and that’s not something I’d want to contribute to.

Sorry if this comment reads badly, I didn’t really have a plan while writing this, so it might read a bit oddly.

2 Likes

For libraries I feel more or less the same. Note that you’ve MPL and EUPL as something in between MIT and GPL.

The video is very interesting.
(Licenses don’t interest me at all. zero)

As a Japanese language learner, I feel this so hard

5 Likes

wait what’s going on, what the hek did I write lol

don’t speak *english

8 Likes

I’ve definitely left the whole GPL/FSF camp a very long time ago and have favored permissive licensing for probably the last 8 years (2-BSD to be specific), I also don’t use the wording “Free Software” and explicitly do use the words “Open Source”, which the FSF knows actually has a different meaning and implications (although from their end it’s a negative, and from my end it’s a positive). I’ve also re-licensed all of my projects to 2-BSD as well. At the end of the day I don’t like the idea of forcing people to release all of their code just because I wrote the original code, and also even if people were to contribute, I find myself a lot of the time not necessarily wanting nor needing said changes. I actually do encourage people to fork all of my projects. If there is something that I’m interested in then I may consider merging it into my branch but it’s possible that won’t happen. There is also the whole situation of having released my code GPL, having people violate that code (which can definitely happen), and then me having to worry about trying to enforce copyright and go after them with lawyers .. I’m not going to do that. That takes a lot of time, energy, and money out of my life, and it’s just not worth it. People mention that even in that case you should use the GPL as a deterrent, and I get that, but idk, I would rather just decide to go fully open or go proprietary and not have to worry about that at all, I’ve made my peace with it in the beginning. The only case that I’m not happy with is the whole AI training on my code without my consent since I don’t believe that the 2-BSD (or other permissive licenses) mean AI can use it. All of these licenses were made in a pre-AI world and thus the idea is that the permissive licensing is talking about “all humans doing what they want with the code”, not machines. I’m not a person that’s pro-AI and have avoided using it for years, but given that I’m being forced to use AI at work and in the industry means that I need to get good at Agentic Programming and using the AI, even if I still like to handcode myself. This is a separate convo but I did buy a Framework Desktop a few weeks ago and got my own Local LLM and Agent running for me to explore this domain and trying to understand how to fit this into my life: cooking? gardening analysis? coding? how much coding and what are the lines? Also if this AI thing is so important (like the transition to us all having to carry around a Smartphone), I believe that the “AI Brain” thing is probably going to be at that scale, although in this future I would prefer for people to have their own Local LLMs privately at home to continue our hopefully open source and decentralized architecture, and prevent large corporations from having us give them money in an eternal subscription for the rest of our lives). Anyways, I’ve read all of these licenses (GPL 2, GPL 3, MPL 2.0, CDDL, 2/3/4 BSD, Apache License 2, etc), I even had some of them printed on paper many years ago, and ultimately I decided that it was either going to be me releasing all of my code if I wanted to keep it open out there or not releasing it at all and keeping it proprietary, which is perfectly fine. Back when the MPL 2.0 was being worked on, I actually was in communication with people at Mozilla that were on the license drafting team, I raised some of my concerns and suggestions and it was a very productive convo, and also continued to help me reflect on licensing and the entailed philosophies. Cactus (which is my most important and favorite project - Diablo II Version Switcher/Character Isolator/Mod Manager) is fully open source under the 2-BSD license, but my Singling extension (non-gameplay modifications to Diablo II) are proprietary.

I’m going to be 35 y/o this September, started using Open Source stuff in 2006 back during the Fedora Core 5/6 (Bordeaux) / Ubuntu 6.06 (Dapper Drake) days, use to be a Gentoo Linux Developer, and currently using FreeBSD and Linux for different things. I’m not the youngest but I’m not the oldest either, and I would say I definitely use permissive licensing not because I haven’t researched or thought about this, some of us just don’t like some of the philosophical stances that the FSF/GPL take. This is of course a highly subjective and personal subject so read my words as just that, my own views and experience. It’s ok if you have a different view. Ultimately you should be writing software that you love, and release it to the world in whatever license you want, and if you want to release your software to the world as proprietary and freeware, that’s fine as well. There are many ways to bring positive and good energy to the world than licensing, if anything licensing has gotten in the way of progress (and I’m looking at the whole OpenZFS not being able to be merged into the Linux Kernel which is an area I worked on [1] [2] a lot back in the day, given that OpenZFS is my favorite filesystem and I really wanted to boot Linux off of ZFS, that machine/use case is now on FreeBSD).

Anyways, stay safe out there folks, and have fun!

4 Likes

I am more in favor of copyleft licenses but not with GPL. I like LGPL and MPL is currently my favorite, kinda middleground between permissive and copyleft.

Btw your ZFS guide helped me alot when i was installing my current gentoo setup. Thanks!

EDIT: I also hate the fact that LLM companies basically saying “your code is mine now. Oh your license? What, is it tasty?”. I write and publish it as open source for people; not for LLMs(companies) to waste ton of resources, destroy environments, and for what exactly?.

1 Like

AGPL 3.0 for applications
For libraries, I defer to MIT/Apache 2.0 or MPL 2.0 for a copyleft version.

2 Likes

My strong copyleft license of choice for Zig libraries is the MPL. It’s like the LGPL, but it applies on a source file level explicitly, linking does not matter. Unlike MIT and similar, it requires that modifications are released as source code.

I was thinking if making your license machine-readable, could help in this regard.

I saw River WM is doing it that way.

I like that fact that it also recommends a LICENSES directory, where all licenses of the project are put. Ok, the whole project may be GPL, but this way you still respect the licenses of the specific files I think. This is something I feel uncomfortable with as @fearedbliss also stated, the disrespect from FSF/GPL for other licenses/ views.

1 Like

I found this about CLA’s

2.3 Outbound License

(Option One) As a condition on the grant of rights in Sections 2.1 and 2.2, We agree to license the Contribution only under the terms of the license or licenses which We are using on the Submission Date for the Material (including any rights to adopt any future version of a license if permitted).

(Option Two) As a condition on the grant of rights in Sections 2.1 and 2.2, We agree to license the Contribution only under the terms of the license or licenses which We are using on the Submission Date for the Material or the following additional licenses: [LIST_OF_LICENSES] (including any right to adopt any future version of a license if permitted).

(Option Three) As a condition on the grant of rights in Sections 2.1 and 2.2, We agree to license the Contribution only under the terms of the license or licenses which We are using on the Submission Date for the Material or any licenses which are approved by the Open Source Initiative on or after the Effective Date, including both permissive and copyleft licenses, whether or not such licenses are subsequently disapproved (including any right to adopt any future version of a license if permitted).

(Option Four) As a condition on the grant of rights in Sections 2.1 and 2.2, We agree to license the Contribution only under the terms of the license or licenses which We are using on the Submission Date for the Material or any licenses on the Free Software Foundation’s list of “Recommended copyleft licenses” on or after the Effective Date, whether or not such licenses are subsequently disapproved (including any right to adopt any future version of a license if permitted).

(Option Five) Based on the grant of rights in Sections 2.1 and 2.2, if We include Your Contribution in a Material, We may license the Contribution under any license, including copyleft, permissive, commercial, or proprietary licenses. As a condition on the exercise of this right, We agree to also license the Contribution under the terms of the license or licenses which We are using for the Material on the Submission Date.

My inclination is AGPL for complete software and MPL-2.0 for libraries compatible with proprietary software.

The (A)GPL has been essential for the live coding community defending our work from low effort scams the last few years

5 Likes

We should have a category “Lawyers” :slight_smile:

2 Likes