Open nyabinary opened 2 months ago
TL;DR:
As for how strongly I align with these values, I originally came to NixOS from Guix, which is where I started mainly because it was a FSF project, and I was a card carrying FSF associate member (for about 4 years). I came to be disillusioned with the particular approach of the FSF, but I still am a strong believer in the importance of strong copyleft licensing. All software I write gets a strong copyleft license if possible, and all software I maintain I seek to move towards stronger licensing where possible. I also made https://github.com/cafkafk/rime as a direct response to the proprietary flakehub platform, and licensed it under AGPLv3[1], mainly because I wanted a FOSS alternative to flakehub for my own usage at the time to do version controlled flake inputs.
It's a shame that NixOS (like the rust foundation) tends to adopt overly permissive licenses like MIT. While there are cases where this is a strategic choice, e.g. morph was published under MIT simply because "that was the community norm" and I think that's a shame.
We don't get that culture change by forcing it. Part of my reason for moving from Guix was simply that graphics drivers are... really nice. Needing to have a nonguix
repository just to have your distro work for the majority of users based on ideological reasoning is a huge mistake if your goal isn't just earning ideological points. We should never force users into a position where they have to use proprietary software, we must keep the great separation of proprietary and free software that we currently have in nixpkgs. But we also must never make the mistake of trying to dictate to users what software they can and can't have.
Rather than recounting the 4 essential freedoms, I'd much rather emphasis the value they provide to users. Open code is auditable, you can ensure that there are no harmful "dark patterns" or insecure parts, if you so desire, and learning about a product directly from it's code is one of the best ways to understand it (as nixpkgs/nix users will know) . Free code is changeable, it is forkable, it prevents being locked in to a upstream taking advantage of you, and it prevents a project dying just because no one is able to take over the maintainership burden. Copyleft ensures that the labor that went into creating a product isn't exploited, and that if others wish to receive the benefit of the hard work of the contributors, they'll also have to share their labor in the future, so that the contributors aren't taken advantage of[2].
The NixOS foundation has vast resources, and I think one thing that would empower community members to use more bold licenses than MIT is to create a licensing team, to help ensure that official projects are compatible with their dependencies, and able to meet their goals, as well as being interoperable with other parts of the NixOS ecosystem.
[1]: I've since come to prefer the EUPL-1.2 license, as it's a much more serious attempt at dealing with "the SaaS problem", and it's much more interoperable, and with a much stronger legal foundation. [2]: Of course, the contributors are often still exploited, if they would also pay the contributors that would be appreciated.
I am a strong advocate for open source software. I don't think copyleft licenses are morally superior to other open source licenses. I think the choice of the license depends on the nature of the particular project, and personal preference. Any developer should be free to make that choice as they please.
I also believe that not only individuals, but also corporations should be able to participate in open source ecosystems. I realize that this is often difficult, but it is one way people may choose to organize and get paid for their open source work, which I view as a good thing.
Nixpkgs should continue to not prevent users from using non-free software.
It has been proposed to consider recommending stronger "share-alike" licenses for official Nix projects; at the moment I am inclined to agree.
More philosophically, both free and open source are great ways to create software and I fully support and encourage those mechanisms. I think this is a widespread and non-controversial stance prevalent throughout the Nix community. These are enshrined in the values as "Free software and choice over lock-in".
How strongly do you align with copyleft and FLOSS (Free and Libre Open-Source Software) ideas/ethos?
FLOSS has always been the most interesting part of the technology industry for me. I don't know of many other places where you can find a community of people who are so passionate about working to make people's lives better, all while only asking for the same in return. It's a view of the world I've always appreciated and wish it was more reflected elsewhere, and I am proud to say I have played some part in spreading it
To get more personal, this concept is what gave me a start in software development and systems administration (even if it's just currently in my free time :p). The amazing experiences I've had with people who share this belief and their creations inspired me to start learning how to give back to those same projects I have benefited so much from, and help others have the same, welcoming feeling I had when I started; without FLOSS, I think I would be in a very different place today. I overwhelmingly support the continuation and growth of FLOSS, and regularly encourage people to use it as a way to make the world just slightly better, in any way they can
What are the key principles of these movements in your view
The most important part of FLOSS and copyleft for me can be summed up with Marx's slogan of "From each according to his ability, to each according to his needs". With the commodification of software and accessibility of developer tools, distribution, etc. there is little point in creating proprietary, locked down environments solely to monetize the user rather than give them something that is actually useful. As I said before, we should be using our abilities as developers to help create a better world for people, even in small ways. Likewise, those that wish to use the tools we create should be encouraged to give back to the best of their ability
how would you advocate for them in your role within the Nix community?
I would like to encourage every day users to take more active roles in the project, be it documentation, packaging, bug reports, testing, etc. I've also always been interested in creating a mentoring program for new contributors -- though that has remained a one-on-one thing I do with friends and acquaintances for now
I think copyleft free software licences are superior to permissive licences, as they ensure that software will be freely available perpetually. Though I personally value user choice over software licences. Therefore, Nix/nixpkgs/NixOS should continue to distribute all kinds of software, as long as (re-)distribution is permitted.
I agree with both Scrumplex and Cafafk's views, and strongly align with copyleft and FLOSS principles. My commitment to these values is based on the belief that software should prioritize user freedom and respect. Copyleft is essential for ensuring that software remains open and accessible, fostering a collaborative ecosystem. By advocating for stronger licensing, I aim to protect the free software ideals of allowing users to study, modify, and share software.
At the same time, I respect users' freedom to choose non-free/libre software. Nixpkgs should continue caching and distributing various licensed software, provided their licenses allow it. Freedom means empowering individuals to make their own choices.
I think the important thing here is to make it easier for users to inspect the licenses of software in their closure and decide which are acceptable to them. i.e. working towards a better integration of existing SBOM generators and make it easy to allow/disallow specific licenses for a given nixpkgs instance, akin to config.allowUnfree
.
The current MIT license fits the use-case of most nix projects well IMO, I wouldn't change anything here.
For the rest, I believe the nix communities captures it well in "Free software and choice over lock-in":
Nix projects are and will always remain free software. We value working together with the broader free software community. Free software is our priority, but we also support our users' needs to use non-free software, when practical.
I primarily use FLOSS software in my work, both because I broadly agree with the philosophy and because I've been harmed firsthand by proprietary tooling in the past.
See: the four software freedoms.
I believe that the Nix community already does a great job adhering to these principles, but there's a lot of ground to gain by improving the organization's copyright and trademark control, restricting the use of the NixOS snowflake logo for example, as well as in better delineating the role commercial entities may play in the community.
I align pretty strongly with copyleft, since I prefer to view our collective efforts as a digital commons -- something that entails both use rights but also obligations to contribute back, because it is collectively owned.
That said, Nix and Nixpkgs are MIT, there is basically no way to change that, and I personally have no plans to even attempt.
I think when choosing between a copyleft and a permissive license though, it's important to look at the nuances. The question of individual freedoms is central in distinguishing these two groups of licenses, but I think it's only half of the solution to the "political" problem of how to sustain a digital commons: the other part is the material conditions, i.e. ensuring people can provide for their own basic needs, which in our current system means allowing them to earn a living. The insufficiency of the traditional licenses' freedom-focused approach to address the "economic" question is also reflected in the deluge of products creating their own non-FLOSS licenses (SSPL and co.).
Permissive licenses like MIT, being more business-friendly, can theoretically, in some specific contexts, be a net positive for the health of an ecosystem (and especially its maintainers), if by attracting those businesses they help contributors/maintainers get funded.
In my ideal world, we would all have our basic needs met and could freely contribute to the commons (both digital and material) but we're not there yet, so we need to be strategic.
When it comes to how we, as a community, decide to package/support non-free software, I think we're doing great by not being too dogmatic, and strive for being a generally useful distribution/ecosystem. I think people can be politicized into useing FLOSS without making their life overly hard.
I agree with what others have mentioned: I think copyleft and FLOSS is superior to any proprietary license, however user choice is held above all. If a user wants to use proprietary software, it should be allowed, and this is where I think GNU and Guix falls flat.
There are some situations in which I think FLOSS licenses aren't the best fit (such as highly personal content that is still open and visible, but shouldn't be copied), however those types of situations by-and-large don't apply to the Nix ecosystem.
Though not directly analogous because it is referring to website content and not code, the "notes on licensing" blurb of my website covers some of the different situations I consider important, and different (CC-specific) licenses I think fit those situations.
Question
How strongly do you align with copyleft and FLOSS (Free and Libre Open-Source Software) ideas/ethos? What are the key principles of these movements in your view, and how would you advocate for them in your role within the Nix community? I'm particularly interested in supporting candidates who share a strong commitment to these values.
Candidates I'd like to get an answer from
No response
Reminder of the Q&A rules
Please adhere to the Q&A guidelines and rules