DEV Community

Cover image for Towards Sustainable Source Software?
Nathan Kallman
Nathan Kallman

Posted on • Updated on • Originally published at

Towards Sustainable Source Software?

Cover photo by Elijah Hiett on Unsplash

I won't beat the dead horse of how unsustainably enterprise depends on open source software. Maintainers treated like indentured servants. Projects abandoned. Dependencies overtaken by malicious actors. Burn-out. It's ugly. Financial support is too Zipf-y. We need a change.

Graph showing exponential decline from a "Livable Wage" quickly down past the price of a Coffee approaching zero as the number of open source projects increase

I Do Not Know What I am Talking About

I have not really contributed to open source. My income has always come from an employer. I have not felt the pressure of maintaining a project for other people. I have not tried any other methods to "sustainably" source software. I do not know what I am talking about. I am sure this idea has a multitude of problems and unintended consequences. Please discuss below.

You should just leave now. This "article" is being written to future me so I do not forget. Thank you; have a nice day.

Proposing an Idea Anyway

I am inspired by the Professional Engineer groups in the US, the guilds and apprenticeships of yore, and a system of Universal Basic Income.

And so, the general aspects of this proposal are this:

  1. Only professional* software developers have membership
  2. Much** software produced by the organization is open to all members but closed to non-members
  3. Members may use said software for any purpose the organization approves of (even for profit or for an employer's profit)
  4. Members gain shares in the organization only by the promotion votes of other members (these cannot be purchased and non-members cannot hold shares)
  5. Shares pay weekly dividends based on organization income from licensing software and membership dues
  6. Membership dues are based on individual income (outside of share dividends)

Diagram: Members support, create, and use Sustainable Source Software and support, create, and use Open Source Software; Non-members support(?), create, and (ab)use Open Source Software and license use of Sustainable Source Software, the costs of which go to Membership Funds; Members also pay dues to Membership Funds; Membership Funds support Sustainable Source Software and pay weekly dividends to Members

* Professional, here, used in the sense of professionalism not just being paid for a job.
** Members are still free to create fully open source software or closed source software. The organization simply provides a third option of exclusive source software.

Intended Effects

By paying weekly dividends to members, those focusing on the exclusive source software for everyone else are guaranteed a minimum level of financial support, regardless of how "important" or "useful" the contributions. It also provides an instant safety net to developers suddenly losing their jobs or those between jobs (giving all members a boost to negotiation power; able to leave at any time with less consequence).

By allowing increased shareholding only through the voting of peers, the domination by those already financially well-off should be averted. This should provide a mechanism to promote and increase the compensation of those most deserving and contributing to the organization as a whole. There may need to be mechanisms to avoid extremely popular developers from being voted an undue number of shares, simply because of their celebrity status.

The exclusivity means that exploitation of completely open source can be reduced as utilization becomes limited to people and organizations actively paying back in contributions or dollars (if not both). It should also reduce low quality "contribution" to sources as only members (assumably qualified developers) participate.

How Do Members Get In?

For people already developing high-quality software, there should be a nomination and approval process by a minimum number of members.

But for those looking to become developers, there should be an apprenticeship / developer-in-training status for them to learn over time. Apprenticeship in various forms has been proven to work extremely well in grooming skilled workers with practical (not just theoretical) competence.

But those rules leads the question: How does the first "minimum number" of members, become members? Just decreeing myself a member of an exclusive "professional software developers" club seems self-serving, egotistical, and generally unhelpful. There are also legal questions around how "shares" of such an organization would be regulated and how the software would actually be licensed and the licenses enforced etc...

Comments, Concerns, Certainties, and Conversations

Bring it on! My flimsily published idea deserves the fiery furnace of healthy debate. Be kind and courteous. Source facts. Attack ideas not people. Thank you for your time!

Top comments (1)

kallmanation profile image
Nathan Kallman

My question: would you join an organization like this?