beeware / paying-the-piper

A project for discussing ways to fund open source development.
343 stars 14 forks source link

A new Open Source license #14

Open freakboy3742 opened 9 years ago

freakboy3742 commented 9 years ago

Open Source licenses focus on user freedoms and developer freedoms, but make no attempt to address the freeloader problem. There's nothing stopping a company from using a piece of open source software, making massive amounts of money because of that software, and then give nothing back to the community that developed the software that had a big part in generating that success.

This "Freeloader" problem is the flaw that needs to be addressed. If a company can't give back in kind, they can give back in a more meaningful way - by donating money.

The GPL and other Free (tm) Software licenses address the issue... by scorching the earth, and forcing all code that touches the released code to also be released. This condition means that the GPL is commercially toxic - even if you consider that assertion to be scaremongering and FUD, the fact remains that there is a perception that it is commercially toxic, which is reinforced by the fact that the premise it offers is so fundamentally alien to commercial entities.

So - can we address the Freeloader problem by a change in licensing?

The FSF lists 4 "essential freedoms":

Would it be viable to come up with a new license that ensures all these freedoms, but also prevents freeloading?

Would it be possible to reframe licensing terms so that anyone can get the code, use the code, and modify the code, but as soon as it is used to generate revenue/profit, a license fee kicks in?

Redistributors, like operating system vendors, would obviously be affected by any license change like this. Any license text would need to be careful that it didn't prevent this use case. The analogy here might be reseller arrangements.

It's also possible we would see the emergence of competing products - 0$ FOSS and Paid FOSS. It would then be incumbent on the paid FOSS to be better than the 0$ FOSS alternatives.

Migrating existing projects to a Paid FOSS license would also be a complex process.

nanuxbe commented 9 years ago

This kind of license already exist on many open-source projects community edition vs enterprise edition (those usually take money, not contributions). Not sure it is doable for every type of project though. To take the example of Django Debug Toolbar, I don't really see how to sell an enterprise edition while keeping a usable community-edition project. On the other hand, for projects like Django, there are "obvious leads" like keep the framework as fully free and open while making things that are clearly meant for larger companies (like the Oracle db adapter) part of an enterprise edition.

There are also projects/companies that use this double licensing to pretend they are doing open-source while actually making their solution unusable with the community edition.

jayfk commented 9 years ago

I think the point is to offer the same project for everyone, but if you want to use it in a commercial product you'd have to pay for it like this https://creativecommons.org/licenses/by-nc/3.0/ with the addition to pay for a commercial license.

nanuxbe commented 9 years ago

I guess it also depends on the amount, I'll tell you more about myself. This is off-course my own experience but I believe there are (and so know some of them) other people in the same situation.

I co-founded a small software company a bit more than a year ago after some life events (one of them being burn-out) that left me penny-less and right now, although working 12hrs/day, 6+ days/week most of the time we are not making enough to actually live decently from our business. Our business-model is a choice that I believe is close to the open-source spirit, being that we target small business and try to offer them products in their price-range (which is, in this area is usually quite low).

Basically, paying €15 for a a by-nc picture costs us about 2 meals and might be doable depending on the month. paying only €100 (which is probably not enough as far as the recipient is concerned) to sell a €1000 django-based website is something we cannot support and that our customer-base won't be able to support either. Just to be clear, we have to battle other small businesses making much more money than we are by selling low quality wordpress + monster template based websites, so I will say it again: wanting to sell affordable quality products based on Django is a choice and mostly an ethical one. We could also make a lot more money by freelancing for banks or other large companies (which we actually reluctantly ended-up doing part-time in order to make ends meet).

Now that you know the background. In this situation, I can't approve of having everyone making a dime off of an open-source project having to pay the "business licence"

And just in case you are wondering, having been contributing to open-source in different ways (some visible, other way less visible) either openly or behind the scenes (as an employee of an opensource company claiming all credits for my work) I don't believe I am profiting from other open-source contributors by trying to make a living based on open-source technologies.

TL;DR; having large companies pay for business licenses: YES. Having smaller companies pay for business license: only if they can reasonably afford to do so.

freakboy3742 commented 9 years ago

@nanuxbe I agree with your TL;DR definition. Strict "CC-NC" terms is essentially what Riverbank does with PyQt - GPL for open source projects, Commercial terms for commercial projects. However, as you note, early stage and small companies may not be able to afford those license fees, which acts as a disincentive against use.

Qt itself used to do the same thing; they now have LGPL for the library, and an optional commercial license for $$$. This is effectively what has been suggested as #12, as large corporations aren't obliged to buy a commercial license.

I don't know exactly how the terms would be framed, but I'm envisaging terms that come down to "free unless you're making a profit, and then scaled to the size of that profit". If you're a startup who isn't making money yet, or you're a non-profit community project, you get access for free. However, if you're a commercial entity selling something, you have to license commercially. There might even be a minimum threshold so that small commercial tinkering projects don't have to start managing license fees after they make a $10 profit. The intention isn't to squeeze little companies - it's to make big companies who do have the means pay for what they're using.

Of course, this is an area where accountants will get involved, because Twitter isn't "making money", despite the fact that they have very deep pockets.

tomchristie commented 9 years ago

I'm envisaging terms that come down to "free unless you're making a profit, and then scaled to the size of that profit"

Where would you stand on something more along the lines of "Free for personal use, and for charity, non-profit or educational organizations. Otherwise tiered per-seat cost."?

That'd avoid the 'is the company making making money?' issue you mention.

freakboy3742 commented 9 years ago

@tomchristie That would be one way to frame it. However, it excludes one important market - early stage startups. Early stage startups were a big part of the Django market, and I don't object to someone who is still testing a commercial model using open source. However, if they've got funding, or they're cash flow positive, then it's time to start giving back. Essentially, all I'm looking for is "give back if you have the means", which is all any fair system ever asks.

tomchristie commented 9 years ago

@freakboy3742 When I say non-profit there I was meaning registered not-for-profit organizations, rather than not profitable companies. Poor wording on my part. Agree your point re growth-stage companies completely.

cjrh commented 9 years ago

What really bothers me about the open source world is we go to great lengths to shout out the distinction between "free as in beer" and "free as in freedom", and then we get upset when anyone tries to do "free as in freedom" without "free as in beer". PyQt gets a ton of flack for dual-licencing, and people still are trying to push for PySide as an alternative to being forced to used GPL with PyQt.

Why?

Thanks very much to @nanuxbe for your story. I think having real stories really helps to frame this discussion around what smaller companies and startups are doing. Too frequently the discussion around open source licences is dominated by large corporates, which creates a very skew picture about what it's like for individuals and smaller operators. Here's my story:

I started a (one-person) company recently which is in the education space for learning to code online, and I've open sourced (MIT) the exercise content (yay! I think!?). To fund the business I have a subscription model which starts from $5 per month. I have not open-sourced the interactive "lesson engine" that runs on the website, in order to protect my revenue.

Is that bad? Should I have open-sourced everything? Is it morally wrong to charge money for an educational product? Should I dual licence (I really don't like the dual licence model)? What is ethical? These are questions I ask myself frequently. (In truth, probably, even if I open-sourced everything I might be able to get enough customers to be sustainable, but my company would be virtually unsellable, having no IP. Is this consideration unethical? Is it morally wrong to think about increasing equity through IP and competitive advantage?).

My thoughts around "free software" keep coming back to this: it costs me $5 per bus trip into/from the city. I do two of those a day. A single coffee is $5. Other costs at home are much, much more, such as food for the family, housing costs and so on. I am sure this is similar for everyone reading this. Is it really such a bad thing to charge $5 per month for software? How do I fund my living expenses by running this company? Some companies have a "free" (freemium) model where they data-mine their users and sell advertising space, which I will never do (slams fist on table)

Why do people in the open source world become very awkward when even suggestions like $1 per month are raised? The model of "software's free but you pay for support" really does not work in the general case with small business, and especially one-person businesses. If anyone reading this is simultaneously working for a massive organization while trumpeting the "free as in freedom" mantra, please: that situation does not apply here.

There is an FSF page about Selling Free Software which I find very problematic. It sounds like they encourage charging money, but caution you that if you charge too much people will, and should, just copy your "free as in freedom" software. The discussion is framed around the fact that distribution costs money, and therefore the distribution costs will determine the price point that is acceptable to your users. Well, maybe that was viable in the 90s but today distribution costs are pretty much zero. It makes no sense to charge based around "distribution costs". Could anyone seriously believe that if PyQt used only GPL, or god forbid MIT/BSD, that they would make any money whatsoever by charging "distribution costs"?

My website runs on Django, and therefore Python. My database is Postgres and I use uWSGI as the webserver. I run on AWS, which means that I am "paying" for Postgres using the RDS service (how much of that does the PG project get? Do we even know?). I have not paid for Django, nor Python and uWSGI. There are a bunch of Django apps that I am using that I also have not paid for. Would I be willing to pay for Django? Yes, I think so. Even as a startup with no money, I could still find, say $5 per month to pay for "access" to Django. Remember, I pay a lot more than that for accounting and legal costs. A lot more for business registration. A lot more for trademarking. and so on. If "$5" still sounds too much to our ears, replace with "$1". Still no? Replace with "50c" or "10c": Is there any non-zero amount that would be tolerable?

Getting back to our hypothetical: what about the other bits and pieces, like open-source Django apps, and deployment tools?

Imagine that all of this open-source software was part of some kind of communal licence management platform where a single payment per month gives access to a bunch of software within that platform; I'd be willing to pay $5 or $10 or something similar, per month, to be a member of that, um, "open source club" (for want of better words). And then somehow that money pool is distributed to the projects, perhaps according to a distribution scheme that I choose in my profile page.

Would it be possible for everyone to pay, say, $5 per month? That I cannot say. There obviously could be a relief program for those who could not. I do however know that a new computer costs several hundred dollars. Food costs more, Housing costs more, clothing costs more, and so on. I smile whenever I see someone with a macbook pro retina freeze up when they see some software that costs $10, and then immediately hunt for a "free as in beer" alternative :)

I don't know what the answer is, and I'm kind-of free-balling here, but IMO Free (as in beer) software will only be a thing when free (as in beer) living costs are also a thing.

freakboy3742 commented 9 years ago

@cjrh Agreed that it doesn't need to be a lot of money to make this viable, especially on a project the scale of Django. As I pointed out at PyCon AU - Django is (according to PyPI) downloaded 1 million times a month. Put a 10c charge on that download, and you've just raised the salaries for 6-10 full time developers. A 10c download charge might not be the best way to collect the money in practice (see #7 for a discussion), but the point is that a small charge on everyone would raise a lot of money for Django.

The 2 catches: 1) How do you get everyone to actually pay, and 2) How do you define "everyone" so that those learning, tinkering, or genuinely unable to pay (e.g., third world where $5 would be a significant sum of money) aren't disadvantaged?

cjrh commented 9 years ago

@freakboy3742

1) The "new open source licence", still to be decided.

2a) A relief system can be in place for those who can't afford membership (Note however that there are quite a few dollar billionaires in Nigeria for example. There are both rich and poor in the developing world, the distribution merely differs from the first world. The phrase "third world" is no longer PC, you have to say "developing world" ;)

2b) Even people learning or tinkering can pay a nominal fee per month. They pay much more for other things, as I pointed out. No one complains about paying $40 for a raspberry pi for example. In fact everyone loves how inexpensive it is.

nanuxbe commented 9 years ago

+1 on @cjrh 's idea of an open-source entity to collect small monthly amounts. -1 on all the rest.

To answer your question about ethics, it's different for everyone, you have to build your own, and it'll probably evolve everyday.

As far as your laptop, it cost you several hundreds dollars, probably even over a thousand. Mine cost me $138. Sure I would love to have a mac, it would actually be very useful to have one but it's not in the budget. And I pay for hosting with time, code and maintenance because I'm not sure to be able to afford a DO droplet every single month of the year.

And what you're talking about is most likely true in your surroundings but let's talk about other environments, I'll take the example of Django Girls since it's been mentioned several times already. I've coached one and did the install party of another one (both in the UK). A lot of women I saw there and 100% of the ones I've helped in a way or another came with old laptops. So where is all the talking about being inclusive and everything if you reflection is still only based on your privileged entourage? So, about Django girls, what do you say? We are giving you an opportunity to change your life but you have to pay us $1 per month? Sure that's fine, but next month you'll also have to pay $5 for the linux kernel and $2 for xfce (gnome is too heavy to run on their computer), $.5 for cups, $1 for your browser, etc... $10/month for a piece of useful code might not sound a lot , but count the "pieces of code" you use every day. With this approach without it being a single fee for the entire FOSS eco-system actually means more than a hundred dollar per month. Sure but people with less means can beg to have it for free! Sorry, forgot about that one ;-)

And you don't have to go to the third world or the developing countries to find people without means. The country I currently live in, which is in western Europe 15% of the population is living below poverty level, 1 out of 5 of those people are actually working full time and about 40% of the people living above poverty level are working people who barely make it over that limit. In 2013, there were over 12000 companies going bankrupt in this country of a little over 11,000,000 people. And this is quite a good picture of the whole western Europe.

You're obviously not struggling much (@cjrh) since you say your goal is to make your company "sellable", not to make ends meet, so please don't generalize your situation, if it's fine for you to pay $10 or even $50 a month to open-source do it instead of saying everybody should.

Oh, and since we talked about Mac Books, why not go to Apple first and ask them to pay a monthly fee for all the pieces of open-source software their OS is based on as a first step?

PS: if you find the $40 for a raspberry pi so cheap, send me one, it's not in my budget. Might still not be even if it's free and I have to pay $1/month for each python library on it though.

freakboy3742 commented 9 years ago

@nanuxbe I can't speak for anyone else, but from my perspective, my goal isn't to get people in your situation to pay anything.

You're clearly not overflowing with funds, and trying extract money from you would clearly push you away from any project that had such a policy.

However, there are companies that have multi-billion dollar VC valuations, or very healthy bottom lines, which are entirely based on open source software - and they're not giving anything back.

At the risk of causing a knee jerk reaction from some circles: From each according to his ability, to each according to his need (with the gendered language preserved only for historical accuracy of the quote).

nanuxbe commented 9 years ago

@freakboy3742 we've talked about this already and I know that's not what you are trying to do. But in a world where a lot of IT people make a lot of money, I feel I have to share the point of view of people with less means on this repo, especially when I see generalizations like "$5 is what I pay for coffee, it isn't much for anyone to pay". Because currently I apparently am the only one doing it and if I don't do it, well it won't be part of the repo at all and someone consulting it at a later time might think "$5 isn't much for anyone" is the general case of everyone using open-source. Maybe I'm dramatizing, but that's how I feel...

freakboy3742 commented 9 years ago

@nanuxbe It's a good point, worth reinforcing. If $5 isn't much for them, $5 is probably the right amount for them to be paying. For you, it's more like $0.05 (rounding down to $0 due to credit card fees :-). For SuperMegaCorp, it's $5000+.

wolftune commented 9 years ago

The only ways that stop freeloading entirely also result in exclusionary things that limit the audience, limit access… basically, the definition of software freedom means that people can have the freedom to share, and you have to infringe on that freedom if you want to stop freeriding entirely. It's a no-go, and you can't do it. Don't try.

The only real way to stop freeriding more broadly is through taxation. The second best option is to do what you can to address the reasons that well-meaning people tend to freeride, which is what we're working to address with Snowdrift.coop.

Consider this general perspective on the Economics of non-scarce works

tomchristie commented 9 years ago

Agree that the discretionary aspect of determining which pricing tier you belong in is important. Allowing users to pay within their means (or not) maximises the utility (don't lock anyone out).

We already have fuzziness in say, personal vs Corp conference ticket prices which works well enough.

nayafia commented 9 years ago

Really appreciate the stories shared on this thread, they're important to hear. @cjrh maybe someone should start a Humble Bundle for open source ;)

I wonder if there could be something added to license terms that simply calls out the freeloading problem, even if it doesn't suggest a solution via fees etc. Ex. "freedom to contribute and support..." or "freedom to use without depleting..." It's more about setting a cultural norm to call out the problem and hopefully provide a discussion point to nudge companies into doing the right thing, a la https://en.wikipedia.org/wiki/Public_good#Altruistic_solutions

wolftune commented 9 years ago

@nayafia license proliferation is itself bad generally. It's perfectly fine to add non-legal messages. And if one does make a new license, it makes perfect sense to have human messages there, as the GPL includes the GNU manifesto as an intro.

"without depleting" makes no sense here, nobody using FLO works is depleting or consuming anything. It's all non-rivalrous. See the links in my comment above.

ericholscher commented 8 years ago

I also like the idea of a license that activates on sale of a company or funding rounds. "This software is free to use, and you will give back 1% of your sale, split between all OSS projects you use that use this license" -- It could work similar to the Apache patent license, or something.

A bit more context here: https://twitter.com/MassHaste/status/658726004949688321

wolftune commented 8 years ago

@ericholscher While I understand the motivation, that license would require a huge amount of complex bureaucracy, accountability, tracking of things, would not distribute funds to where they are needed most (versus whatever happens to be used), and violates both the OSI definition of Open Source and the FSF definition of Free Software. The Apache patent stuff in Apache v2 is nothing like this in that it has no requirement about sharing revenue or anything like that. In short, such a license basically will be completely outside the FLO community and ecosystem. It would be merely a completely separate pool of proprietary software that would do nothing to help FLO software.

ericholscher commented 8 years ago

At this point I just want a Creative Commons Non-Commercial use license, honestly. The problems I have aren't necessarily solvable by the FSF & OSI world views. I might be short sighted, but at this point, paying my rent is more important than companies being able to install my software internally. I care about people being able to learn from it, and contribute, but don't want corporations to freely be able to use it.

wolftune commented 8 years ago

@ericholscher CC NC is non-open, non-free. Here's a run-down (especially see the links too) of why NC is a terrible, broken license that divides and confuses everything. http://freedomdefined.org/Licenses/NC

ericholscher commented 8 years ago

You seem to have very specific definitions that you care about. I have stated my goals, and want a license that fits within them. Not everyone is worried about "openness" and "freeness" in the same way that you are. Saying that they don't meet your goals doesn't invalidate mine.

I appreciate and understand I am proposing something that is not within the traditional realm of open source/free software. That's the whole point. Unless you can give me a business model that respects those things while also furthering my goals, and paying my rent, they don't help me at all.

I currently see the traditional model as failing for my intended goals, so I'd love to talk more about coming up with a new model.

wolftune commented 8 years ago

@ericholscher these aren't arbitrary definitions I happen to prefer. The OSI and FSF are the respected institutions in software, and basically the vast majority of everyone in this community respects these definitions to the point that there's widespread consensus that NC simply does not qualify as "Open Source". It is also consistent with Creative Commons themselves acknowledging this per https://creativecommons.org/choose/ and major international organizations Open Knowledge…

The point is: this isn't me. The entire vast community of people engaged in Open Source overwhelmingly accept that NC is not Open Source, so that sort of thing doesn't deal with funding Open Source, only with the idea of funding projects generally.

ericholscher commented 8 years ago

True -- I will take my thoughts somewhere else.

freakboy3742 commented 8 years ago

@ericholscher Please don't leave the discussion. Frankly, if I had to choose, I'd rather @wolftune take his thoughts elsewhere.

@wolftune That's not me saying "go away" - it's me saying that if I had to choose, I'd take practical realism over the idealism of the OSI and FSF any day of the week.

Yes, the OSI and the FSF are established institutions in our industry. And many of the points they make are valid, important, and worthy of deep consideration. And yes, they have established definitions of Open and Free in the context of software that we should honour.

However, in practical terms, the FSF and OSI are almost completely silent about how to actually fund the panacea they want to develop. The FSF in particular is almost pathologically opposed to this discussion. And this isn't an abstract discussion, either. Remember - The GNU's kernel isn't Linux. It's Hurd. GNU's desktop isn't (or wasn't originally) Gnome. It's Teak. Outside of compiler and shell tools, GNU has almost completely failed to deliver any useful software - and there's an argument to suggest that they've failed there, too (EGCS, Clang, XEmacs...). And part of the reason - they're reliant on volunteers to get most of the work done.

The GNU project has successfully defined what they consider "Freedom". But somehow, they've convinced an entire generation of engineers that that definition is inviolable. My argument is that this definition is up for debate - or at least renegotiation. In particular, I want to see a parallel discussion alongside the discussion of "Four Freedoms", talking about the "Four responsibilities" - one of which is giving back.

The ticket title is "a new open source license", because we don't have a brand to attach this to yet. I'm not proposing that we re-appropriate the word Open. A new branding word will probably be needed - one that preserves as much of the freedom that the FSF and OSI advocates, but also requires contribution commensurate to the value being extracted.

cjrh commented 8 years ago

http://freedomdefined.org/FAQ#But_how_will_people_make_money_under_this_definition.3F

There are many ways that people make money distributing free content and expression. They tend to differ based on the type of work and many other factors. Of course, the point of this definition is not to list these (although someone could create a page in this wiki to do exactly that). The point is to describe essential freedom. Once we have challenged ourselves to produce and consume content and expression more ethically, it becomes our responsibility to find ways to do so that are economically sustainable.

Obnoxious animated gif redacted by @freakboy3742 out of consideration for those with accessibility issues

freakboy3742 commented 8 years ago

@cjrh I have exactly 0 patience for someone who says that closed source software is "unethical". I'll accept that it leads to suboptimal engineering, or suboptimal allocation of engineering resources. I'll accept that it constraints the user's options. I'll even agree that it would be better if more software was open sourced.

However, the constraints placed on a user are also a choice - often a choice between "do I want to use a piece of software that actually exists" and "do I want to imagine using a piece of software that might exist". Saying that someone who wants to be pragmatic and actually get something done is "unethical" is mind-numbingly naïve.

cjrh commented 8 years ago

@freakboy3742 agree, obviously :)

freakboy3742 commented 8 years ago

@cjrh For the record - it wasn't obvious at all. If that tap dancing gif is a meme with an implicit meaning, it isn't one I'm familiar with.

cjrh commented 8 years ago

http://onlineslangdictionary.com/meaning-definition-of/tap-dance-around

Perhaps it was a bit too cheeky. Apologies to everyone.

EDIT: Oh I see you thought I was defending what I quoted. Oops. No, my quote was meant to show that the free software ideology really doesn't have a funding solution. The answers to this question always "tap dance around" the issue. Eh. Failed humour. My bad.

wolftune commented 8 years ago

@ericholscher I certainly was not saying your ideas aren't welcome here otherwise, I was only clarifying which ideas do and don't fit within the idea of funding free/libre/open works. If you want to pursue ways to fund forms of proprietary shareware, you're free to do that elsewhere, or even discuss it here, but it isn't really on topic.

@freakboy3742 the OSI and FSF definitions are actually not strictly idealistic, in fact, the OSI definition is primarily about being practical and reasonable. NC restrictions have serious practical consequences. There's a good reason that this has been accepted widely, and all sorts of institutions including tons of commercial businesses and community groups accept these terms. NC restrictions cause huge amounts of problems and really do work against the entire Free/Libre/Open movement.

GNU has almost completely failed to deliver any useful software

This is not helpful, you're being far more unreasonable, hyperbolic, and impractical than anything I said. It's basically trolling to say that Emacs, Bash, GIMP, Media Goblin, GCC, GPG and many others don't qualify as "useful software". Is getting me into this here type of discussion helping anything? Your particular gripes with the GNU project are irrelevant anyway. The OSI was actually founded on the idea of helping with commercial and funded adoption of Open Source, ignoring the political views of FSF and GNU. Richard Stallman is still so upset that he rejects the entire term "Open Source". Yet it remains true that "Open Source" doesn't include NC terms. We shouldn't even be having this discussion. This isn't about how to fund software generally or how to fund shareware, it's about free/libre/open software, whether you're talking about GNU or the whole massive amount of all other stuff, Ubuntu, Mozilla, Linux… The issue with NC restrictions is not about whether you happen to agree or disagree with FSF and GNU politics specifically.

wolftune commented 8 years ago

@freakboy3742

calling others' views

mind-numbingly naïve

and saying you have

0 patience

are good examples of how to derail productive community discussions. I will assume good faith from you that your intentions are indeed pragmatic, so I hope you will accept constructive feedback that it will be more practical in terms of productive discourse to work on having more grace in how you discuss with others regarding ideas you disagree with.

wolftune commented 8 years ago

For the sake of concision and skipping all the text and back-and-forth above:

tl;dr: NC is not "Open Source" per the general consensus and OSI definition; that is based in very good reasons and has zero reliance on the politics of the FSF and GNU.

This thread is not about a debate about FSF/GNU. This is about a proposal for a non-Open shareware license, and my clarification that such a license is not free or open by any standard generally accepted in this community. The vast majority of people in Open Source both (A) accept that NC licenses are not Open Source and (B) are not politically FSF/GNU activists.

ericholscher commented 8 years ago

So let's create a non-open source license.

Can I just license software with a CC-NC license? I haven't really seen it done for code, mostly for written work, but it seems like it would apply.

wolftune commented 8 years ago

@ericholscher I am not myself interested in discussing non-open licenses, but there are some reasons that CC licenses are strange for software, in that they aren't written specifically with software in mind and software has some odd aspects legally. But I don't know the details. You can release software under CC-NC, but I don't think it would be practical, and certainly the whole free/libre/open community won't accept it. For reference, the OSI rejected CC0 as a software license because it has an explicit clause saying it doesn't relate to patents at all (whereas a license like MIT-style can be argued to be implicitly covering patents as it doesn't say otherwise), making CC0 a possible patent-trap. I don't know offhand if other CC licenses have that same clause, but I know that CC themselves publicly states that their licenses aren't really designed for or appropriate for software.

Anyway, there have been vast numbers of licenses and terms for shareware over the years, and this would just be another of those.

So, anyway, if others want to discuss making a new shareware license or using CC NC as a shareware software license, I would rather it not be discussed here, but that's just my opinion. Others are welcome to have other views. I'd only ask that the title of this issue be changed to reflect the idea that this is about a new shareware-style non-Open license. Then if others want to discuss it further, fine. I may or may not bother adding some clarifying points of practical concern if I feel inclined.

Cheers

seiyria commented 8 years ago

I think it's fair to simply open a new issue for a non-open-source license. This one has valuable discussion pertaining to the OT and I think it'd be silly to backpedal on that.

wolftune commented 8 years ago

@seiyria agreed, sorry! I forgot that this was a tangent on a longer thread! Sorry for my confusion about that

cjrh commented 8 years ago

From the Open Source Definition:

(The open source definition has 10 points, compared to the FSF's four)

  1. Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

Pretty unambiguously stated that a licence cannot be "open source" if you charge money for it as part of the licence. I should have looked this up much sooner. Feeling a bit silly that I didn't do that.

wolftune commented 8 years ago

@cjrh

a licence cannot be "open source" if you charge money for it as part of the licence

That's a completely backwards reading.

The term says:

The license shall not restrict any party from selling

A license cannot be "open source" if you include terms that block someone from charging or using it commercially! You absolutely can charge money for software under any Open Source license! The only thing you cannot do is stop others from charging money or otherwise doing commercial things with the software. So, the entire point is that you can't have a clause that says "no selling this software" or "no using this commercially" or "no using this commercially unless you get separate permission beyond this license by paying". Open Source licenses _must *_allow*\ selling and commercial use. It is not Open Source if you block that. Everyone is allowed to charge money for an Open Source license, period — you can't reserve that right exclusively is the key thing nor can you require people to charge money when they redistribute.

(and for reference, the FSF agrees with that as well)

Maybe you understood this all along and just your statement here was confusingly written…?

cjrh commented 8 years ago

@wolftune What I meant was "you can't require someone to pay, including downstream users" and still have your licence be considered "open source" according to the OSD. Which is what you've been saying anyway. I was just imprecise.

wolftune commented 8 years ago

@cjrh okay, sorry for my verbose reaction. You get it. But there's a widespread misunderstanding from people that Open Source software cannot be sold, and I definitely don't want that rumor to spread. All the best, A :)

cjrh commented 8 years ago

@wolftune There is a reason for the misunderstanding though: if you try to sell open-source software for more money than your users are willing to pay, they can just...not pay it. So in practice this means you kinda sorta can't sell it really. Nobody will pay your fees, and someone else will sell your stuff for less than you, driving the price down to the so-called "distribution costs". Nowadays, distribution costs are pretty low :)

wolftune commented 8 years ago

@cjrh absolutely! This rumor would die if people were used to paying for Open Source licenses. But the very nature of being allowed to freely share means that people do, and the market drives the price of copies to zero. So, this entire issue of funding is left unanswered. But it's still true that selling is allowable even though rarely done.

Incidentally, if you search eBay, you'll find people selling copies of Inkscape, LibreOffice, Blender, Task Coach for $10 - $20 on a CD or via download, despite that they are all available freely elsewhere. They usually hide the name of the software (you need to search for terms like "3D software" or "office software" not the names we know), and they put the license details in small print to hide them. They don't want people to realize that the software is available at no charge elsewhere. But this sleazy behavior is legal. And I think that if we tried to legally stop it by using more restrictive licenses, the ramifications for the community of non-Open licenses and destruction of the commons we all appreciate would be a far greater loss than what we'd gain from blocking that sort of thing. And it's really the deception that is the problem more than the selling…

freakboy3742 commented 8 years ago

@wolftune Apologies for getting a bit hyperbolic, but I stand by my comments. It is mind numbingly naïve to suggest that it is unethical to be paid for developing software. If "0 patience" derails a discussion - well, in the case of that particular discussion, that's a Good Thing IMHO. I set up this project because I'm interested in exploring ways of getting paid to develop the software that has historically been called "Free" or "Open Source". I'm specifically interested in discussion of practical solutions. I'm explicitly not interested in dogmatic adherence to the "Free (tm)" party line, as laid down by RMS 30 years ago, just because.

The problem is that every time I have this discussion, someone from the Free (tm) side of things pipes up and says "Free software is perfect! You're an unethical bastard if you don't use it!", and is completely unwilling to accept to that the Free (tm) definition has tangible, demonstrable flaws - like actually delivering software, and actually paying for development.

Yes, GNU has produced useful command line and compiler tools. GIMP wasn't a GNU project originally, and based on the history I'm aware of, it's got more to do with RMS's "GNU/Linux" naming farce than actually being a GNU project. I'm not especially familiar with MediaGoblin (I haven't used Linux on the desktop for a few years, though). And GPG's main developer (Werner Koch) almost went bankrupt last year as a result of the work he's been doing on GPG. He's hardly the example you want to call on as an example of "doing it well".

When they GNU are responsible for developing a tool, they've repeatedly demonstrated that they're more interested in the politics than practicality - hence my reference to XEmacs, EGCS and Clang. (If you don't know why I brought up those projects, I suspect you read up on their history).

In 30 years, GNU hasn't produced a working operating system, desktop, and viable desktop app suite. Other projects have contributed almost every single part of that story - quite often with commercial compromises that RMS has referred to in less than favourable tones. But it's the commercial compromises that actually got the job done, rather than theoretical pontificating.

And, to be clear - it's fine to have a political rather than a practical focus. GNU is free to pursue whatever priorities they want. But if they start calling me "unethical" - and the wiki that was linked said that, not me - I'm going to call BS, loudly.

freakboy3742 commented 8 years ago

@wolftune Addressing your point about paying for OSS - this is a perfect example of the sort of pragmatism where hardcore Free(tm) advocates routinely miss the point, IMHO.

In the early days of GNU, the ability to redistribute was a critical part of freedom in software. "Getting the source code" usually meant giving someone a floppy (or a tape) with the code on it. AU Unix users would pay extraordinary shipping fees and wait weeks to get the new OS update for their PDP-11.

These days, I'm torrenting my new Linux distro ISO within seconds of it being released.

The distribution landscape has changed fundamentally in the last 30 years. And yet, our concept of "Freedom(tm)" is tied up in distribution constraints that don't exist any more.

My ability to modify code? Sure - that's important, because otherwise I can't fix bugs. My ability to distribute those modifications? Sure, that's important, because otherwise the community will start duplicating effort.

My ability to redistribute the original code without any incumbrance? To make a massive profit using something that I got for free, and not contribute back to the wellbeing of the project that enabled me to make that profit? Those points are completely up for negotiation, IMHO, because they're not areas where there's a clear benefit to being Free(tm) - in fact, there's a significant and demonstrable cost.

wolftune commented 8 years ago

It is mind numbingly naïve to suggest that it is unethical to be paid for developing software

Nobody who takes that position. Either you have some misunderstanding or you are knowingly creating a straw man argument.

Yes, there are absolutely insane dogmatic people. I've interacted with them. Some think I am obviously a traitor to software freedom because I have a GitHub account (these people think GitHub is evil because they are proprietary and because they use the phrase "open source"). Those people exist, they are not straw. I am not defending or aligning with them and their bizarre dogma. But I know that zero of them hold the belief that developers shouldn't be funded. It's much more productive to discuss (or even to express your lack of patience with) the actual beliefs these people hold versus discussing beliefs nobody holds.

My ability to redistribute the original code without any incumbrance? To make a massive profit using something that I got for free, and not contribute back to the wellbeing of the project that enabled me to make that profit? Those points are completely up for negotiation, IMHO, because they're not areas where there's a clear benefit to being Free(tm) - in fact, there's a significant and demonstrable cost.

A license that restricts the redistribution of unchanged software but that respects the freedom to distribute slightly modified versions is trivially bypassed. Someone just needs to make trivial changes, and then they can redistribute that version freely. There's no practical way to allow a broad community of contributors to build software together, modify, collaborate, fork, etc. and yet block them from simple sharing of the unmodified software. Attempts to impose such a restriction will either be ineffective or will be onerous enough that it effectively will not benefit from most of the aspects you like about Open Source software.

Let's discuss the practical non-license ways people do this. Ardour refuses to provide compiled executables to those who don't pay. It's still FLO because it is GPL, and anyone can get copies from others at no charge or build from source. However, they think that blocking quick installation for those who go to their website and asking for donations is a good approach. I worry that it reduces their adoption, which then reduces the pool of donors.

Another approach that has been tried is to make FLO software but not mention it. Like, treat the website as though it were proprietary software so people don't even think there's any way to get it besides paying for a license — but still use a FLO license anyway. This hasn't been done all that much, and it certainly wouldn't work well for building a large open contributor community.

The thing is, I agree about the problems of exploiting free software for profit without giving back. It's just that NC type restrictions are a bad solution that mostly undermines the benefits of Open Source development. However, copyleft licenses, especially the strongest ones like AGPL, are a generally adequate way to stop unwanted exploitation in many or even most cases.

Otherwise, mechanisms that are not in the license, such as taxation are options to consider if one had the power to work on that politically. I don't have that power, nor do I feel optimistic about our political system. That's why I'm working on Snowdrift.coop — it's the closest we could get to developing a social contract around an essentially voluntary tax that would be more effective than plain old unilateral donations.

In short: this is not about dogma and politics. This is the entire reason that the OSI and FSF fragmentation exists.

FSF is strictly a political organization focusing on their ethical aims (side note: if they get truly convinced that a compromise serves their mission, they do compromise, it's just often hard to convince them about this; of course, they won't prioritize developers getting paid over their ethical mission).

OSI, on the other hand, is a pragmatic organization focused on promoting the value of collaboration and commons in software development that leads to better code. They care more about things like developers getting paid, and they don't talk about non-Open things as being unethical. They were created specifically because people wanted to focus on the practical side and drop the FSF ethical focus.

It seems to me that you do not agree with the FSF's position but you are fully aligned with the OSI. The important thing is that the reason the OSI has such a close definition that also rejects anti-commerce clauses and such is because such clauses are practically problematic. Independently of the ethics of requiring some sort of profit sharing (which seems ethically well-motivated to me), the types of clauses that restrict open commercial use have a side-effect of frustrating the development of Open Source community collaboration because they create strange legal obstacles and incompatibilities. It is a practical matter that these restrictive clauses cannot be acceptable as "Open Source", not a dogmatic political matter.

nanuxbe commented 8 years ago

Another approach that has been tried is to make FLO software but not mention it. Like, treat the website as though it were proprietary software so people don't even think there's any way to get it besides paying for a license — but still use a FLO license anyway. This hasn't been done all that much, and it certainly wouldn't work well for building a large open contributor community.

Just for the sake of listing them all, there is also the other way around of make believe you software is open-source (using an an xGPL licence) while actually selling a software that's not usable without the paying bits (which end-to-end cost the end-user more than an equivalent closed-source software). This is probably the most unhetical way of doing it IMHO but some companies have successfully done it while keeping quite a good image in the community.

nanuxbe commented 8 years ago

So, since we've listed all the existing ways of using existing licences... What about a social licence?

This word "social" has been used in other threads too and resonates with enterprises as it makes them look good. So would dual-licensing of FOSS software with a social licence, this is an idea close to #12 but based on "social benefits" rather than "commercial benefits" and might be a simple answer to #17.

the basic principle, offer a paying and recurring licence (ie: $xxxx / year) with no added benefit other than a badge on a wall and your name mentioned every so often.

jayfk commented 8 years ago

Would it be possible to reframe licensing terms so that anyone can get the code, use the code, and modify the code, but as soon as it is used to generate revenue/profit, a license fee kicks in?

That's the hardest part. What happens if I fork a project under this license and add a substantial feature that attracts a lot of people? Would I pay, say 90%, upstream and keep 10% for myself?

the basic principle, offer a paying and recurring licence (ie: $xxxx / year) with no added benefit other than a badge on a wall and your name mentioned every so often.

Sounds good in theory, but I'm afraid only mega corps would be interested in such a thing to be more attractive for developers they want to hire. You mentioned your own situation working with small to mid-sized companies in a couple of threads: They really don't care about that.

If we had a new open source license that comes with a fee, we could pitch it to clients as a good thing.

Something like:

We'd like to use the Django framework for your website because it enables us to work faster and have a more secure codebase. That would save you a lot of money in the long run because XY. It comes with a yearly subscription of 100 USD for smaller companies.

I'm sure it would be so much easier to find 1000 small companies to pay 100 than a big company that pays 100000.