Open Source projects and Non-profit 501(c)(3) vs Non-profit 501(c)(6)
Table of contents:
The operational and legal side of open source software (OSS) projects are always boring to us programmers and end users in general. Which is why there is a lot misunderstanding on the expectations from the non-profit foundations which runs these OSS projects. Just like OSS licenses, the foundations which runs these projects are often misunderstood. Today I will be talking about two most common non-profit types used to run OSS projects. The Non-profit 501(c)(3) and Non-profit 501(c)(6). These are non-profit organisations which are registered in the US. Other countries will probably have an equivalent to these. But we will be focusing on these two. This is because most big OSS projects uses either of these non-profit. The idea is to help communities set better expectations so that they are not surprised by the decisions of these non-profit organisations.
Why should you care?
The tech community has always been looking at things only in the eyes of technical merit. The motivation and agenda of a project has always been an after thought. But we are increasingly reaching a point where the agenda and motivation of a project have possible long term harmful effects while technology is technically sound. Where the governing body that steers these project is behaving against the interests of the community. Just like open licenses, the governing body of an OSS project is unclear to many. So this is a good time to understand the most common two types of non-profit entities used in OSS projects. This helps us set expectations when we invest time and energy to these. This doesn’t mean either of them are good or bad. In fact, there can be bad projects in both these types. But there is a reason why either of them is chosen. The type gives you a general idea about the direction a project is targeting for. This post as I’ve mentioned is to help set your expectations accordingly.
What is a non-profit 501(c)(3)?
A non-profit 501(c)(3) is a tax-exempt status for an organisation which are for public charity or for the public good. Their revenue is 100% tax exempt and they are more about the community with respect to OSS projects. The individual community members hold a lot more power or voice on the project. And any individual should be able to get involved in a governing role based on merit irrespective of the financial status.
Examples of non-profit 501(c)(3)
- Python Foundation (PSF)
- Zig Foundation
- FreeBSD foundation
- Signal foundation
- Electronic Frontier Foundation(EFF)
Why should end users prefer non-profit 501(c)(3) projects?
- They are community oriented.
- They are for public interest or public charity.
- They are more likely to listen to the end users.
- Usually end users are more welcome to obtain individual membership and to run for leadership roles.
- Membership to get involved are free or affordable for community individuals most of the times.
What is a non-profit 501(c)(6)?
A non-profit 501(c)(6) is a tax-exempt status for an organisation which is membership based. It is designed for the use cases of trade organisations or business leagues. They work for the common-interests of the members involved. The main difference between a 501(c)(3) and 501(c)(6) is that 501(c)(6) are not for public charity. They work for the common interests of it’s members. Whatever it may be.
In OSS context, this means that they work for corporate organisations who are members. Only a very few non-profit 501(c)(6) accept individuals as members. And most 501(c)(6) non-profits, individual members (if they accept individuals to hold membership at all) hold less power. They are most of the time “decorative”. This is because when it comes to steering the organisation’s direction, individual membership hold little to no power.
A non-profit 501(c)(6) OSS project is no different than when a company run an OSS project. Like reactjs from facebook. Difference is, instead of a single organisation running the project, there are bunch of member organisations doing the same in a collaborative manner. Usually community is heard only when there is an outrage from the community. A case in point is rust foundation’s decisions which has been controversial for the community.
The common issue I have seen is, when end users see non-profit in the context of OSS projects, they usually think 501(c)(3) and NOT 501(c)(6). This is made worse when non-profit 501(c)(3) foundation websites mention it on the main page more often when compared to 501(c)(6) foundation’s page. You really have to dig to multiple pages or go here and there to find a text saying non-profit 501(c)(6)
. I have observed the non-profit 501(c)(6)
text being removed from the main page and put inside some links where it is hard to find. At least that has been my experience.
Examples of non-profit 501(c)(6)
- Linux Foundation
- Rust Foundation
- OpenID Foundation (With members like google and microsoft. Powers “Trusted publishers” in PyPi which is governed by PSF)
What should end users be aware of non-profit 501(c)(6)?
- They work for the common interests of the members. This is not bad at all. But the distinction should be made that this is not for the community. It is for their members irrespective of what marketing says.
- 501(c)(6) foundation don’t always accept membership from individuals. This means an end user might not have a say in anything with regards to the project’s major decisions.
As you can see the Rust Foundation doesn’t allow membership from individuals yet - https://foundation.rust-lang.org/info/become-a-member/. While the linux foundation’s individual membership doesn’t have any power. They get a lifetime @linux.com
email address and some discounts from the certification courses etc. None of it have anything to do with the direction of the linux foundation itself. While certain 501(c)(6) accepts individual membership, the roles and powers are over powered by big corporations. Over all, this is because non-profit 501(c)(6) is not designed for community. It is for the likes of business leagues or trade organisations. This just means non-profit 501(c)(6) is working the way it is intended to.
Certain observations
Why hasn’t year of linux desktop happened?
Simply because linux foundation’s members don’t care. Most of them are providing services for enterprises. There are only very few consumer facing members interested in linux desktop. Check them out yourself - https://www.linuxfoundation.org/about/members. And majority of the GUI or any consumer end related projects are community driven without the support of the linux foundation. But as for FreeBSD, you can see that they have recently been coming out of their shell and focusing a lot on the desktop. The investments directly comes from the foundation. With the limited resources they have, FreeBSD is investing in desktop while not diregarding the server-side. This seems to be a good attempt at trying to balance it out and is motivating to see.
As for linux, this is probably why 8 years ago Linus Torvalds mentioned Valve will save linux desktop one day. Because Valve is one of the few companies which actually have the resources and motivation to improve the end-user side of things. As you can see, Valve is investing heavily to improve the linux gaming ecosystem right now. Proton and ProtonDB which makes Wine more accessible in Steam / SteamDeck and SteamOS are just some of the examples of it. SteamOS is powered by linux by the way. And this has brought in a huge amount of interest from hardware manufacturers and companies to support linux in their hardware and software/games. linux foundation could’ve invested in all these long long ago. This is where the difference between Non-profit 501(c)(3) vs Non-profit 501(c)(6) can be seen more vividly.
Why did rust foundation’s trademark policy change happened the way it did?
An explanation could be because rust foundation is a non-profit 501(c)(6). And I mean it in the nicest way possible. The whole messaging sounded like corporate lingo. And OSS users who are not used to it freaked out. I really hope it is a misunderstanding. I hope the rust foundation reverts some of it and listens to the community.
Closing thoughts
The whole point of this post was to give you a glimpse of what these non-profit types are. The word “non-profit” in these two types can be misleading. When I first learned about this difference, it changed the way I see OSS projects. Certain decisions by certain projects made sense or was unsurprising. Jim Zemlin, the executive director of linux foundation using macos made sense. Linux Foundation’s website being just a place for corporate marketing and product pitches made sense. This helped me set expectations from these project(s) accordingly.
In the past, Open Source Software has always been about the community. But it is a brand new world where we have to work with corporate entities now that OSS is global. Setting expectations and understanding how and why things are the way it is, is more important than ever. Hope this post helped learn some of it today.
References / Links
- https://en.wikipedia.org/wiki/501(c)(3)_organization
- https://en.wikipedia.org/wiki/501(c)(6)#501(c)(6)
- https://blogs.gnome.org/jnelson/2014/06/30/the-new-501c3-and-the-future-of-free-software-in-the-united-states/
As you might have guessed, this is a complex topic. There are more chances for errors and wrong interpretations. If you found anything wrong, kindly drop an mail at unsunsgnovelty at protonmail dot com
.