37 comments

[ 4.4 ms ] story [ 87.6 ms ] thread
no, No, NO.

We're programmers. If you can think of it, we can do it. But it takes someone who has the motivation and the time. Motivation is easy to find but time is not. Because Time is Money (as I'm sure you've heard). So the real issue is open source funding.

I've spent the last 18 years trying to get Axiom funded.

I tried the NSF. They will not fund Axiom because there is a "competing commercial product" (aka Mathematica).

I tried the Air Force (AFOSR). They cannot give grants to open source work because it requires financial tracking. Somebody has to managed the funds and the receipts. When I was at City College I did get a grant but they have a Provost (who took 55% for "support").

In order to handle accounting open source needs an "accounting office" with professional, certified accountants. I approached several companies (e.g. IBM, TI, etc.) with the idea of "donating a certified accountant or two" to an organization that would "manage open source grants" with services like funds management, receipt clearance, taxes, etc. That way an open source project could accept grant money. So far, nobody wants to donate people. I think such an office could completely change the whole open source funding issue.

I've tried setting up donations for Axiom. The idea was not to pay people to work on Axiom, just to support things like setting up a conference or paying to attend a conference. I was the only donor.

Open source is not free. I estimate that I spent about $3000 per year on things like travel to attend a conference and paying for hosting services. I now have the Axiom server under my desk on a $1200 dollar computer. In order to ensure Axiom runs everywhere I have to buy computers like the Apple (used to be a non-Intel processor), the PowerPC, a Windows machine, a Linux machine, etc. It all adds up to a lot of money.... not to mention the cost of books to keep up. Oh, yeah, and my time is written off as "free".

I don't understand your objection. Maybe I'm not communicating the idea properly. The Air Force, as an organization, would purchase an OSCC license and use, as you say, Axiom. If that's the only software they used, all of their license fee (minus overhead expenses) would go directly in your pocket.
I agree with your problem statement. I just don't agree with your approach. OSCC wouldn't be a grant making organization and it doesn't need professional accountants (although that would be helpful). It would be a licensing and revenue sharing pass through. Someone wants to use Axiom in a commercial context? Great! Tell them to buy a OSCC subscription. The revenue will flow to you, but you don't have to handle accounting or applying for grants or any other crap.
> They cannot give grants to open source work because it requires financial tracking.

There is nothing special in open source work that would preclude financial tracking. Sure it takes effort, and there are costs related to getting all the paperwork done so you need to think twice if it is worth it. But still, its just normal part of the business.

Yes, you can set up a business to handle everything. And you can pay an accountant to handle the grant. And you can do all the receipt tracking. And you can get your busiess certified by organizations that issue grants.

All of which means that you don't spend time programming. The fundamental idea is to centralize that "overhead" so that open source programmers can program, not run a business.

We're not trying to make and market a traditional product.

> The OSCC license would be a variant of Apache 2.0, BSD, or MIT, with the additional clause that the rights granted by the license are also predicated on paying for annual OSCC license fees.

Then it's not Open Source.

I agree that funding Open Source software is hard, and I want a solution as much as anybody: It's not even a theoretical problem for me, I am currently self employed and would really like to fund myself with just Open Source software.

What you're describing is a really bad idea though, it isn't actually FOSS. Heck, it's actually considerably worse than many of the other licensing models out there, because it basically boils down to being a subscription service. Many of us are involved in Open Source because we specifically hate the 'software rental' model.

Better ideas that I've seen people kicking around that I wouldn't immediately dismiss:

- putting a paywall in front of issue trackers

- dual licensing under the GPL and a proprietary paid license.

- requiring upfront payment for new features (ie Kickstarter/Patreon)

- open core models (ie Gitlab's strategy)

- advertising and sponsorships via READMEs and official sites.

Many of these ideas also have problems, but at least they don't require us to completely abandon FOSS licensing.

You're right, it's not FOSS. It's open source in the broader context of being able to work on software entirely in the open and still get compensated for it by the commercial entities that use it.

Giving away your work for one and all to come and take is, ultimately, unsustainable. All of your suggestions ultimately boil down to altruism by commercial entities, and that's also not sustainable. Companies care about legal compliance but don't want to contract with a million little entities to comply. That's why FOSS is so popular for companies and so terrible for maintainers. Companies get to build their business on this great software and completely ignore the externalities that it takes to get there.

If there were one central organization (or heck, a handful) where companies could register and pay for one license that entitles them to use any software licensed by that organization I think we would be far better off as a community.

The benefits of FOSS are specifically tied to the freedom to run and fork code for any reason. If you get rid of that model, you lose a huge number of attractive features of these licenses: freedom is the benefit of FOSS.

There are already tons of source available models that tons of companies use. Nothing is stopping you from putting your code on Github right now with a proprietary license. Of course, even in that scenario most users prefer single-time purchases to subscription models.

If you want to go off and develop a new proprietary subscription license, then fine. But don't market it as a solution to OSS problems, that's deceptive.

> All of your suggestions ultimately boil down to altruism by commercial entities

Quite literally none of my suggestions boil down to that, I deliberately left donations off the list. In every single model a commercial entity pays for something they would not be able to get for free: advertising, permission to bypass GPL infection of their own code, support and access to developers, new features, or an enhanced proprietary version.

It's not Open Source according to the most widely accepted definition of the term (https://opensource.org/osd) and components under it wouldn't be useable by actually Open Source projects according to that definition.

I'd suggest not to use the term when promoting your idea, it's kind of misleading and will provoke such discussion every time.

“Giving away your work for one and all to come and take is, ultimately, unsustainable.“

I don’t think this statement is accurate as there are decades old projects (linux/gnu, apache) to dispute your claim. I think this is possible because software actually is possible where a few individuals can have great reach with part time or employer funded time. And also because companies can benefit by funding and releasing activities that aren’t core to their business as either advertising or inclination by developers to be altruistic or other reasons (MSCode, Google stuff, etc).

Do you know if projects that use the patreon style? Successfully or not?
I personally know of zero that can support themselves and the other contributors with a system like Patreon.
Funding OSS on Patreon-like sites is really stinking hard[0]. There are not a ton of people making it work, although a few are close[1].

I suspect this is because OSS software on Patreon usually doesn't come with many actual benefits. One of the models I'm interested in playing with in the future is having Patreon-specific issue trackers and access to separate development repositories.

In any case, you should not be trying to fund yourself purely through Patreon unless you have a good reason to believe you're going to be different.

Kickstarter and crowdfunding on the other hand has been real promising.[2][3][4][5]

I think there's strong evidence that OSS developers should consider charging upfront for feature development. It probably doesn't work for every type of project, but it seems to work for many types of projects.

[0]: https://liberapay.com/explore/teams

[1]: https://marijnhaverbeke.nl/fund/

[2]: https://www.kickstarter.com/projects/1681258897/its-magit-th...

[3]: https://www.kickstarter.com/projects/aiforeveryone/mycroft-m...

[4]: https://www.kickstarter.com/projects/johnonolan/ghost-just-a...

[5]: https://www.kickstarter.com/projects/mbs348/diaspora-the-per...

Thanks. What do you think of a subscription that gives you access to suggesting and up voting/down voting features?
:) Is there a hosting service that supports it?

This is the other problem I ran into trying to figure out how to get Patreon set up - Github and Gitlab have pretty broad permissions.

It would be good to see people experiment with a wide variety of permissions surrounding issues, from access, to commenting, to creation, to upvoting. A lot of Open Source projects aren't even really looking for funding, but still want something in front of people who are just showing up to complain.

I don't know of a public issue tracker that supports that kind of granularity though (if you do, let me know), so the next best thing I could find is to make a private group on Gitlab for development branches and issue tracking, and then to mirror everything to a public repo for stable releases with issues disabled.

If anyone who works on Gitlab/Github is lurking around, it could potentially be a really cool differentiator to have those kinds of granular permissions.

Monitization methods that have kept me employed full-time developing open source software are

- selling plugins/extension onto an open platform (basically what you call open core, not a fan of that term though). Works great for https://vcvrack.com/

- offering support for $$/hr. You'd think that would work better than it does, but even large companies try to find ways around getting your help. They'd prefer spending 100 of their developer hours than 10 of mine it seems.

- GPL/commercial barely works, but it's better than $0. Honestly I'd rather just make it fully commercial than this, because what's the point. I don't actually consider GPL to be fully open-source (an unpopular opinion.)

My stance is that you should plan ahead of time whether you want to monetize so you can determine if the time is worth it at all. I'm a firm believer in separating fun and work, so if you want to develop software for fun, keep it that way, and if for work, have a viable business plan. Otherwise bite the bullet and say that the project isn't meant to be exist.

> I don't actually consider GPL to be fully open-source

I held the same opinion for a long time, I'm more on the fence now. It's an unpopular claim, but I don't think it's an unreasonable claim.

(comment deleted)
I've thought on the funding of software also, and at least for now I've reached the conclusion that the only sustainable way of funding is to use the software. Meaning that businesses should have developers (in-house, or I guess consultants) working directly to develop the software they are using, instead of trying to maintain this model of having independent projects and isolated users who then need somehow to throw money over the chasm between.

Implication being here that pure software product houses are not a healthy model. I understand this might be somewhat radical view, especially on HN where so much revolves around software products.

Congratulations, you just came up with a proprietary license concept. That's great, but don't misuse the phrase "open source" or "free software". Perhaps a better alternative to the absurdely complex system you've proposed is to simply exchange software licenses/units/subscriptions for cash, the way it's normally done. Other people can contribute to your software through "contracting" and "being hired". This is the easiest and most straightforward way to handle proprietary software.

If you truly believe your concept deserves the name "open", you should research the concept at https://opensource.org/ and reevaluate.

Open-source software is for everyone to use, not just those advantaged enough to have free time to contribute to projects in a secret club.

So, I have gone down a similar mental experiment trail also, before. I like this direction of thinking, although I haven't arrived at an ideal solution.

What I could not avoid with your type of thinking, was ending up with something that seemed like a patent/copyright shell company. If someone can be excluded from licensing by not paying a due, then is this truly open? I understand your intention is to re-use open source licenses and add a small clause directing payment for use to this open licensing organization, but ultimately, I think that such an organization may become a threat not a benefit.

I might be wrong - the Apache Foundation works pretty well for humanity, and Apache licensing works well also. And, they seem to raise at least enough funding to keep the lights on from their supporters.

I personally always get stuck debating between the concepts of for-profit [1] / non-profit [2] and public [3] / private [4] goods.

I think the tendency in these discussions is not to get specific enough about what we are talking about. For example, the traditional confusion between "free" and "open" source software... e.g. the "free as in beer" vs. "freedom of speech" [5].

In a sense, your proposal would solve that problem because it would create a clear organization supporting a clear license, with a clear compensation mechanism. However, how would this organization run? As a non-profit? As a for-profit? Maybe a social benefit corporation [6]? I think the choice is everything, if it can work at all. There's a reason, I think, that open source is especially associated with the rise of the Internet and networks, and decentralization, and sharing. Perhaps there is not a perfect legal model for such a thing.

I think in a naive sense, the concept of "open source" is sometimes thought to be analogous to able to be saying that a copy of the intellectual property can be used and/or modified without restriction, the copy can be owned by anyone, and can be shared with anyone, in any situation (commercial or not). Of course, depending on the specific license (GPL, AGPL, MIT, Apache, etc.) there are differing degrees of how open "open" really is.

There is a desire to make something.. truly open with literally no restriction. Ironically, many companies and organizations might not touch such a thing out of fear of the origin, they worry if they use it they might get sued. It's almost as if we cannot have a situation where there is just a piece of intellectual property, openly shared, without a license (for example, "common knowledge".. a gray area term as well, but, do you have a license for it?).

This again is an area that clarification may help... if you know that you have access to this huge portfolio of IP and source, as a member of such an organization as you propose, you don't have to worry about the license anymore as long as you pay your dues. But, what risk would such an organization carry? We need look no further than to the recent acquisition of GitHub by Microsoft to see an example, we'll have to see how that turns out.

I think I'm rambling now, but I hope some of these thoughts come together to help. I'd be willing to chat more about this.

[1] https://en.wikipedia.org/wiki/For-profit_corporation

[2] https://en.wikipedia.org/wiki/Nonprofit_organization

[3] https://en.wikipedia.org/wiki/Public_good

[4] https://en.wikipedia.org/wiki/Private_good

[5]

Thanks for your thoughts. A coop or union model might make sense, no? When you become a member you get one vote (one vote per person).

To get specific, I mean "open source" as in "I can go read the source and contribute bug fixes." Forks could be treated as derivatives, like remixes or covers of music. The originator of the IP would share in the revenue of any fork.

I think ultimately where I would like to see this is Google, Apple, etc, paying for the software they use in the form of one big lump royalty fee based on a percentage of their gross revenue. That would entitle them to use any software with the license, no questions asked.

Yes, I think I agree that a co-op [1] seems like an interesting solution to this problem. I think the work around social benefit corporations (which are still for-profit) is somewhat related. I think the model definitely matters as a form of signaling intention. If the organizational form is too exotic or non-standard, it may drive people away (even if it is a better way of doing so).

My viewpoint is heavily Western-world skewed, unlike other countries where co-ops are more commonplace. Apologies in advance, I'm always trying to escape such a singular world view.

Your model might actually make businesses very happy, actually. Dealing with tons of different open source licenses no doubt adds legal burden/costs to commercial efforts. It would simplify both payment and legal terms. The tricky part then becomes getting enough people to contribute their work - it would be as much a marketing pitch to contributors. Probably similar in difficulty to trying to start a marketplace where you need both contributors and consumers.

I suppose one thing you could do was have a "pay-what-you-can-or-nothing" tier as an option that your contributors could choose. This way, there is still a both open and "free" version in the cases where people choose to offer that for their intellectual property.

I'm thinking a little bit of a variation on Patreon in the back of my head as well.

[1] https://en.wikipedia.org/wiki/Cooperative

Scaling license fees by ability to pay is the way to go, I think. A sliding scale from “nothing” to “lots” is basically how ASCAP works. And this is still just commercial. Non-commercial and personal use wouldn’t be applicable.
Apache committers are almost all employed to work on the projects, a patronage model. Nothing wrong with the patronage model as long as you realize you work at the behest of the King. Mozart and Bach, for instance, spent much of their life searching for jobs and/or patrons to support their musical efforts.
I have to admit to not knowing exactly how the projects and people for Apache Foundation are compensated, so thank you for sharing that.

I think you're absolutely right and perhaps I brought up the example of the Apache Foundation as one that seems to be working, but even it too is quite different from the model that OP was proposing.

The easiest, fairest sliding scale I can think of for charging corporations for this is per employee. Charging based on revenue or other accounting metric allows for monkeying and funny math.

For example, $500/yr/employee. That's minimal for small startups. For a company with 50,000 employees, that's $25m/yr.

Realistically you can't start charging that much initially but as more developers and projects use an OSCC license, the value increases and you can raise the royalty rate.

Per employee is also easy to verify and, as you say, difficult to game. ASCAP has a variety of ways to charge based on entity type, as I understand it.
That’s great for companies, but bad for organizations. I run into this with commercial vendors who try to explain how all 10k people in my org would benefit, whereas I know only 100 would use it.

Just because something is easy to verify, doesn’t make t fair.

There’s very little software that I would ever think warrants $500/employee/year for a small startup.

You're misunderstanding. You pay $xxx/employee to buy a license to use ALL software with that license. You aren't buying one thing for N employees.

Let's assume Linux, Apache and PHP all licensed via the OSCC. $xxx/employee means you can use all OSCC projects in production for your org. Royalties would go back to those projects based on usage tracking (which itself is a major complication).

There is software not using your system that I would need. Even if this covered all OSS products I use, I wouldn’t pay $500. The price is kind of ridiculous. If it’s for every employee in the org
Author here. Y’all are right, using the words “open source” for this model is a mistake because it doesnt fit the existing definitions well.

The core of the idea is to centralize the complexity from the perspective of both the developer and the business that uses the developer’s software, such that businesses fairly compensate developers without developers having to develop a separate, unique business model. Musicians banded together a century ago to make this happen for them and it’s worked well for everyone concerned. It seems like we should be able to do the same.

I’ve read of some horror stories around ascap suing various bars and restaurants [0], and that seems like something that I would want no part of as a developer, user, or company. As a music lover, this seems like a system that causes much harm and has been opposed to file sharing and free information sharing.

[0] http://www.peninsuladailynews.com/news/ascap-sues-peninsula-...

I'd like a dead-simple and globally accessible way of donating.

Like github/gitlab/etc allowing to easily deposit money via CC, Paysafecard, Google Wallet et al. The projects could have a "donate" button by default.

I often clone and browse projects and absolutely wouldn't hesitate to donate a few dollars here and there if it's just a click away.

Flattr does this, sort of. I pay a monthly fee and it distribute it to whatever repos I star that month. They distribute to more than Github as well, but not everything.