feross / funding

Let's get open source maintainers paid ✨
209 stars 9 forks source link

What's wrong with Open Source right now? #10

Open mixmix opened 5 years ago

mixmix commented 5 years ago

This is a thread for surfacing all of the problems that exist with FOSS right now.

Yes this is a bum-out thread. Why? If we have a more complete picture of what each other are experiencing, I think this well help resource us to have better conversations about where you should go next, and how

Ways you could add to this thread: :heavy_check_mark: personal experiences from working in open-source :heavy_check_mark: challenges you've experienced resourcing open-source :heavy_check_mark: links to prior art/ analysis on this topic ...

Please share a little about your context along with any stories / assertions. i.e. how much open-source do you contribute to or use?

This thread is not for: :x: coming up with solutions :x: complaining about this module

traverseda commented 5 years ago

A lot of people go into free-software with the expectation that it's going to make them money. It's great that some people can make money developing free software but I'm worried that that kind of profit motive is ultimately going to create more issues then the money solves.

As a developer if you don't try to extract value from me I won't try to extract value from you. If that's a problem then I highly encourage you to make non-free software. Of course trying to extract value from profit-motivated entities is legitimate.

mixmix commented 5 years ago

Maintenance is hard work, and thankless.

Example: @dominictarr + event-stream Results in bad feelings, security problems, drama : https://gist.github.com/dominictarr/9fd9c1024c94592bc7268d36b8d83b3a

marvindanig commented 5 years ago

Moving the thread to Github from Twitter.

Licensing is from the 80s! Although Blueoak Council (https://blueoakcouncil.org) seems to have come up with a more up-to-date robust option, we need a way to prevent large corporations from taking control of OSS ecosystems like it is these days. #oss

mixmix commented 5 years ago

Open Source is kinda foundationally a game for people who are either already pretty well off / stable, or choose to live a very minimalistic life (which not all people can afford to do).

At best we lack a range of perspectives informing what we're growing, at worst we're perpetuating the erasure of different sorts of knowledge and organising. (see: more colonisation)


My context informing this: I write and consume open source code. I've been trying to make a p2p project I work on more accessible to Indigenous people. I've been humbled and embarrassed at how naive I've been. What I see as an "open and easy to engage with" space is to others no at all safe. If they are hardy enough to enter, they are doing it with scraps of time around looking after family that's been systemically abused, or holding down multiple jobs. Meanwhile I get to be defining the future of what digital identity looks like....

traverseda commented 5 years ago

Sorry, you're comparing the lack of interest in profit-motivated free software, the rejection of capitalism, to colonialism and saying that by trying to keep capitalism out we're also keeping oppressed people out?

I think you're going to have to elaborate on that point, because I'm having a very hard time understanding your point. I'd be interested in hearing more specifically how you think the broader free software community being more accepting of capitalism and profit-motives will end up helping the under-privileged and oppressed. In my experience the opposite tends to happen.

modeco80 commented 5 years ago

This is a thread for surfacing all of the problems that exist with FOSS right now. Yes this is a bum-out thread. Why? If we have a more complete picture of what each other are experiencing, I think this well help >resource us to have better conversations about where you should go next, and how

You want what's wrong, I'll give you what's wrong and be honest about it.

This project. There. Bitch at me all you want, you know it's the honest truth.

dabockster commented 5 years ago

I believe most of FOSS's problems can be traced to one core issue: it's free-as-in-beer. This means that, in practice, billions of people download a FOSS program/package but never contribute back to it at all because there's no personal incentive for them to do so. Open source is a great example of the free-rider problem in economics.

https://en.wikipedia.org/wiki/Free-rider_problem

Bottom line is that very few people will contribute to FOSS unless they're getting something for themselves out of it. Like what other people have said, the devs/orgs currently heavily contributing to FOSS are well off financially, live frugally, and/or not in the traditional workforce (eg disabled, unemployed, etc). I almost never see 8-5 type devs contributing because there's nothing in it for them to sacrifice their family time besides the possibility of them preventing a cyberattack or something. I mean, there's a reason why the largest FOSS contributors are big tech employees, and it's not about how smart they are (they're pretty damn smart, though).

One possible solution off the top of my head would be to create a license that forces whoever uses it to contribute back or have the license voided.

norcalli commented 5 years ago

You javascript devs never fail to impress and disgust me. You act like you invented open source and then say there's a massive problem with it.

I don't contribute to open source with any expectation of money, nor do I want any expectation of it to poison the good work that has been done. Open source has existed for DECADES and is the bedrock of much of the software everyone uses and it has done so with its existing model. All that has changed is that programming has become more popular and it's been influxed with greedy nonsense since peopl realized you can make a quick buck from it. Do you really think that a greedy npm package spammer is going to solve a problem he's declared as existing?

Sure, it would be nice to get paid for open source work, but it's not a problem. Plenty of people continue to volunteer their time just fine.

The real problem is thay you want money for the work you do and you're trying to invent a crisis to justify it.

mr21 commented 5 years ago

People should stop developing B2B dependencies for free. That's it. Why do so many devs code things they do not even need personnaly?

If you are maintaining a dependence, then you should ask for money each time an issue is created while you don't need it. Or you could wait the time YOU need it to code it.

The term "open source" is became so much equals to "free work for commercial business" than if Facebook.com open source itself, people would not understand why it's would be a good thing because npm install facebook.js would not make any sense...

At the beginning Open Source was an idea of a guy disapointed by the fact that his printer was dead and not open source to understand the problem... a printer is B2C.

Only companies should do B2B stuff for free, for example React is free but what would be the Facebook's reputation inside the devs circle around the world if React/Flux was not a thing? What would be AirBnB's without their .eslintrc? just a famous house website.

But where is the advantage of maintening any react-dependencies if you are not a fb's employee? the fame?

davalapar commented 5 years ago

I think a better question is "what has worked"?

Ya see there are lots of ways to reduce your overhead if you really love OSS, and a big part of it is having clear boundaries between the maintainers and the users.

Technically, not all of these are applicable in all projects (specially in small libraries/modules) but generally the gist is:

  1. Maintainer could be overestimating the demand for a certain project
  2. Maintainer hypes a project so much that he attracts many users; but clearly lacks on documentation for users to understand the code, and processes for users to contribute
  3. Downstream users are being overdemanding instead of being empathic on maintainers when they're just being lazy since they can just fork the project and fix the problem to temporarily handle their use case

I personally think cli ads are somewhat extreme and borderline obtrusive just like how some maintainers put wes bos javascript course referral links on their project readme's. Which is understandable to a degree since a nigga has to eat, but bloody hell it's icky as fuck for me.

If you want your users to give you money for what they're demanding, I think it's better to be upfront and proactive enough about it to reach a win-win; instead of letting yourself endure unpaid professional hours or letting their user experience suffer, both of which are win-lose.

And come on it's 2019, we should feel free enough to tell freeloaders to fack off.

mr21 commented 5 years ago

If you cannot maintain it, give it to the community.

@Simonwep, It's already to the community.. anyone can fork anything

simonwep commented 5 years ago

@mr21 Yeah, but it seems like he tries really hard to squeeze money out of it. Really, standard is basically just a eslint config, that this doesn't get the "support" like webpack is not really surprising. It's terrible enough, that this package is already used by so may other packages. Just think about every os developer would do this... And he can still get paid work, there is for sure someone who wants to maintain it with passion - and hopefully doesn't get such awful ideas like this.

There are already ad-block packages like this - do we really want to end this like browsers do? Like, umatrix for npm or what?

rimace commented 5 years ago

At the beginning Open Source was an idea of a guy disapointed by the fact that his printer was dead and not open source to understand the problem... a printer is B2C.

@mr21 Wasn't that the beginning of free software and not Open Source? Open Source came later as a term for companies that wanted to provide the source but without giving freedom to the users.

benhylau commented 5 years ago

by trying to keep capitalism out we're also keeping oppressed people out?

@traverseda by keeping open source contribution a purely unpaid volunteer activity, it absolutely keeps oppressed people out. financial sustainability != capitalism and many OSS contributors are only able to do so because they are in financially privileged positions either personally or through their employer.

Some people believe there is an abundance of volunteer maintainers out there happy to take over projects. But finding good new maintainers / co-maintainers is hard work too, and it also creates a huge risk for people who depend on the project (e.g. https://github.com/dominictarr/event-stream/issues/116). Well the incumbent burnt out maintainer could've done a better job selecting their successor right? That's just more work forced upon someone, which also is not paid for.

@Nirusu in a company, I get paid from interviewing a candidate to reading a bug report. In OSS work all these things are expected of maintainers by entitled free-riders. My code is GPL, my attention is not. I think it is absolutely valid for maintainers to have a ToS for their attention https://github.com/feross/funding/issues/22

billions of people download a FOSS program/package but never contribute back to it at all because there's no personal incentive for them to do so.

@dabockster I want free-riders using my OSS project, and I don't expect everyone to contribute financially / to the project itself. But, I specifically don't want entitled free-riders to use it, and it's hard to identify them from people who genuinely want to help make the project better. In that process, maintainers sink a lot of attention on the Issue boards, over emails... I also don't want Amazon and other big tech to profit off of the OSS labour. I agree with @marvindanig that we need more licensing options to define licensing terms specific to consumers. For example, GPL for non-commercial use, and commercial use requires paying into the project's official Open Collective.

@feross @mixmix thank you for starting this discussion. I personally don't think ads is the long-term solution but I fully support this experiment. It's perhaps a good way to get rid of the entitled free-riders who can't even be bothered to disable the banner. I also feel different about ads in OSS and ads in closed apps, and people's assumption of tracking just shows how deep we are in this dystopia of surveillance capitalism :)

simonwep commented 5 years ago

@mr21 Sorry, It was not my intention to offend anyone. I'm a os dev myself so I thought I could drop my opinion to it. Calm down - it's just my opinion, you don't need to insult me.

And no, I wouldn't remove anything. My os projects are made with passion and where not made to make money with it. If people really want to support me they can checkout patreon etc. And if I cannot maintain it, I'll say something like this projects searches for a new maintainer.

And I'd love to see anyone's face over a broken CI log, scrolling through thousands of lines with "pls support me".

mr21 commented 5 years ago

And I'd love to see anyone's face over a broken CI log, scrolling through thousands of lines with "pls support me".

If you have thousand lines like you said when you build, this probably means the entire project has to be discard anyway. you are into website obesity, like every other npm dev. I mean look at you, you are recoding <input type="color"/> with 10 000 lines.. so i think you love long useless logs...

simonwep commented 5 years ago

@mr21

"If you have thousand lines like you said when you build, this probably means the entire project has to be discard anyway"

Nobody needs to "discard" anything. Lets assume you have 20 (dev-) dependecies which got (including sub-dependencies) around 900 packages. Each packages logs on install 13-lines of support-me. This would be 13 * 900 = 11700lines. Pretty much IMO. And this wouldn't even a big project. Look at github desktop, or think of heavy things like Discord, Slack, Postman, MongoDB Community etc...

"like every other npm dev"

May also do backend which does not always power a website.

"look at you"

Do you really need to get personal? Am I now supposed to go to your gh profile like a 13yo and slander about it? No thanks.

you are recoding

Yes and no, if you take a look at the features. And I think any os project got a right to exist. You don't need to use it though. Nobody forces you :) But consisted ui-style is for example a reason to recode such things.

"so i think you love long useless logs"

It's code, not a log. And a log does nothing by definition, code does. logs are really helpful to see if things are broken, something failed to install correctly or similar and I don't want to find that row between all these ads.

Personally I think you got triggered here and now you're trying with any tools to provocate or blatantly attack me. I don't think this will help anyone.

mr21 commented 5 years ago

It's should be inconcevable to bitch people who ask for money in the log if you use their works. I recognize that i mix two debates here, but they are linked. People install new dep all day long, like if it was an evil practice to code something by yourself simpler, and they endup with an ugly/heavy slow AF "webapp"...

And the same people who don't code themselve are now detracting open dev who do their work for free? just wow wtf.. i don't have words. There is a guy at my work who gave me the exact same sentence:

"if you can't maintain it, give it to the community" what are the foundation of this? what is "the community" in this sentence? what is "maintain" here? it's "doing your job"! but you are annoyed when you see them asking money back

You are SO annoyed than you speak against them.. this is really the worst in a community, you are the worst!... you are incredibly disloyal that's it, not just you but all the other people who think exactly like you.

And technically there is not issue around the log stuff.. normally the warning/error log are redirect to stderr, and so no pb at all.

rubyFeedback commented 5 years ago

And the same people who don't code themselve are now detracting open dev who do their work for free?

Was the advertisement spam announced prior to doing so?

Even if it were, why should people have to accept advertisement all of a sudden?

The linux kernel, the GNU projects etc... don't come with a spam clause (except for the licence part, but this is part of the LICENCE, not a dynamic advertisement spamming downstream).

And technically there is not issue around the log stuff.. normally the warning/error log are redirect to stderr, and so no pb at all.

The thing is that ads HAVE NO PLACE IN THE SOFTWARE.

They are done by upstream developers trying to milk out cash from the users.

This is a FUNDAMENTAL problem - a breach of trust.

You are SO annoyed than you speak against them.. this is really the worst in a community, you are the worst!... you are incredibly disloyal that's it

You need to first learn why advertisements spamming downstream users is not acceptable.

ghost commented 5 years ago

At the beginning Open Source was an idea of a guy disapointed by the fact that his printer was dead and not open source to understand the problem... a printer is B2C.

@mr21 Wasn't that the beginning of free software and not Open Source? Open Source came later as a term for companies that wanted to provide the source but without giving freedom to the users.

I think that's being too harsh to open source, open source was more of a rebranding to avoid the social/political aspect of software freedom. You are right though that open source does not begin with Stallman. In fact that's probably one of his biggest pet peeves, being associated with "open source".

mr21 commented 5 years ago

The thing is that ads HAVE NO PLACE IN THE SOFTWARE.

Said by whom? There is no precedent situation of this current NPM scenario. So, if around 2019 there are logmoney everywhere then deal with it, but don't try to deny it, it's happening.

And this is really smooth... maybe one day they will remove everything for one week and you will see/understand their impact. Because i don't think your boss know and approve the fact that you can't do shit without npm.

They are done by upstream developers trying to milk out cash from the users.

Users? you are not a user, you are an employee who install open source stuff to not have to think about conception. But you don't want to see the real dev asking for your money, you don't want to see that because you know it's true.

And the reference to Linux made me smile :) which npm module is comparable to Linux exactly? Linux is a world need it's another debate.

mr21 commented 5 years ago

I'm sure you are the same people who disrespect Wikipedia when they ask for money...

jashgala commented 5 years ago

@mr21: If the goal is to support maintainers, there are less intrusive ways of doing so than to flood people's logs with ads. Also, I think you are being a bit harsh towards the people who have a different opinion than yourself.

I always used to be under the impression that open source software was driven by engineers being passionate about it and finding joy in it. But when the discussion comes around to "I want to use this for making money", it just becomes yet another business.

I do agree that sometimes, there is a need to support maintenance and stuff, but the moment the focus of the software moves from passion/fun/sense of duty to the communit to making money/profits, I think we are no longer talking in the spirit of OSS; just business like any commercial company.

As a side note, I also think ads make the OSS more business-like (in the sense that the sponsor has a very visible influence on the product), while ideas like donation-based monetizing make it more passion/community oriented product.

ssaavedra commented 5 years ago

Forefront: if you are currently maintaining a FLOSS project and feel entitled to someone paying you for doing volunteer work, I humbly invite you to revise your thoughts, or otherwise step down and leave the FLOSS community. We'll do fine without you. Yeah, maybe you can wreak havoc for a couple of versions on some dependencies and create a bit of history of "what shouldn't happen", but that will be it. We'll fork your stuff, fix it and move on.

But then, there are those that, without feeling entitled to it, may think that it would be nice if Free Software projects could have people working full-time on them in order to increase their value over proprietary alternatives. And here, I do sympathise with you, completely.

First of all, I think there's a problem with the discourse between Free Software and Proprietary Software at a fundamental level if we can even think that only in general proprietary software can be a source of sustenance/income, a thought some folks here are seemingly supportive of.

While I don't think that Free Software developers are entitled to a sustained income, I don't disagree on the general point that such contributions can be valuable and should be fairily rewarded, and encouraged to continue participating with more valuable contributions, and thus, achieve such an income.

In particular, if we want to create more high-quality free software to, essentially, compete against proprietary software for the freedoms and guarantees it gives us, then, somehow, in an abstract way, the Free Software Movement is competing for labor against for-profit corporations. This doesn't necessarily mean that all free software should be monetized, and of course it does not say anything about how and from who should that money come from. I do agree with @traverseda's point on value exchange: it's tricky, and even more when we talk about something as intrincate as software, usually built from thousands of dependent pieces whose contribution to the whole is never easily calculated.

The whole idea of Free Software and Open Source is an exercise on models about shared capital, and shared property (intellectual property, which is itself an amusing construct that we came up with to try to monetize off the press machine, since the cost of book-copying became obsolete at that point). This shared property, "the Commons", is also infinitely redistributable at marginal costs, it's not like a "community fund" where if take money for community expenses, it leaves the fund. Here, it stays for the rest of the community to also use it again in as many ways as imaginable.

The thing is that, while all the intellectual works of a project are infinitely redistributable, the time of developers/maintainers committing their time to this "community fund" is definitely not. But then, what we are asking is how can we fairily set a value for the work that the "intellectual workers" did, and who should pay that value? In my opinion, the answer to this question has never been properly formulated throughout History.

We have many mechanisms, like grants, patronage, royalties, patents..., but (again, in my opinion) all of them have some or other nuances that make them unfit in different circumstances.

Cross-linking from https://github.com/feross/funding/issues/11#issuecomment-524609870, you can find most of these approaches applied to software on the lemonade stand repo.

Personally, I'm fond of crowd-sourced bounties and encouraging users to pay consultants to develop the features they'd need (as they would pay on proprietary software). It has some frictions, and it's not an easy encouragement (that's why I'm mentioning it as part of what's wrong right now), and the conflict may arise as to whether some candidate implementation actually fulfills what's being asked, but by pooling money together on an issue you can get the attention of someone who may see value in implementing it.

However,

There is also the problem of reviewing/merging and how that value should be split, but before considering that, we should also put in the other hand if, instead of reviewing the changes the project was split into a fork, the loss of value created by the fragmentation of the ecosystem, which should not be dismissed either.

Having bounties for performing work (or recurring patronage) gives back to the contributors the labor-value of their contributions (at least, it does if the contributors accept bounties according to the effort it requires for them), independently of the actual use-value of the project.

However, the neoclassical-economy-aligned who read this that reject a labor theory of value may not find the former argumentation satisfactory, although I think they could find some alternate argumentation under their framework.

These arguments probably work only for truly community efforts; I haven't yet matured the thoughts enough to understand the implications on cooperating for-profit companies on open-source projects, although their current model doesn't seem too problematic for them.

On a side note, if you are a current maintainer of a project, and you think you don't have the time (or money to avoid the need to rent your time) to continue contributing to a project, maybe you can also just step back, and advertise a contributors wanted notice, so that others understand the situation and pitch in. In the end, collaborating should be a gratifying business, and if it is not for you, maybe you can leave it to others who find it so and come back later.

marylychee commented 5 years ago

if you are currently maintaining a FLOSS project and feel entitled to someone paying you for doing volunteer work, I humbly invite you to revise your thoughts, or otherwise step down and leave the FLOSS community.

But when the discussion comes around to "I want to use this for making money", it just becomes yet another business.

Wow my dudes, chill.

Some of you are seeing things from the wrong way. I don't think OS devs feel entitled and expect payment. The ones I meet and work with, are fully humble, and heck already put in so much devotion and time... Ain't nobody trying to starting a big business or corporation here. We're all trying to figure this thing out.

I'm personally getting started on in OS too and it is a lot of the times free labour. I enjoy it, doing small patches, it's fun and I learn a lot. Rewarding when I make something useful and get feedback.

But I also think about the no. of people who cannot afford to contribute to OS because of social/financial constraints. Maybe they are already working a zillion hours just to survive and already give to a bunch of community in terms of "free labour" as an individual.

What this means is really worse stats on diversity and inclusion in OS than in tech companies. See ‘Patches don’t have gender’: What is not open in open source software.

While some have critiqued Free/libre/open source software(F/LOSS) as a form of unpaid labor dependent on capitalist structures (Terranova, 2000), it primarily has attracted comparisons with alternative models of economic organization, such as gift economies (Raymond, 1998; Zeitlyn, 2003) and barter economies (Ghosh, 1998). Many F/LOSS contributors use these comparisons to evoke the promise of alternative, fairer, and more democratic social organization.

However, a scant 1.5 percent of F/LOSS participants are women (Ghosh et al., 2002), while women constitute 28 percent of people in technical roles in firms which rely on closed intellectual property arrangements (Evans et al., 2007; Ghosh et al., 2002). There is no evidence that women’s participation level has changed from Ghosh’s study. What has changed is the growth in large commercial enterprises that contributed to F/LOSS as part of paid labor. The present study saw no indication that this changed women’s exclu-sion. Despite more women working in commercial organizations as a whole, it appeared that within these firms it was the men who were the participants in F/LOSS

Basically minorities/females get mostly excluded in this whole so called "open" system.

I think improving the situation for OS devs in general will invite more people to be able to contribute fairly into the ecosystem, which will bring in more creativity and ideas.

For the record, I'm super not fans of ads too. And I think the problem is we're all trying to wrestle with is this whole idea of {yucky ads capitalism} and {commons - let's give and share} and it's easy just to go back to a more defacto capitalism approach for this problem.

I also don't think it's fair to paint things so binary like. We have an opportunity here to expand our awareness here and try understand the bigger picture.

A good video, lol, about the ubiquity of advertisements and problems with capitalism here. What's Wrong with Capitalism (Part 1) | ContraPoints

And whilst I'm not a fan of the ads, I'm also not a fan of how people are dealing with this.

Come on, if you don't think it's fair, check your privileges and entitlement. I mean, this is a systems problem, why are we getting mad at the maintainer. You can fork, you can disable the ad, you can engage in a conversation considerately. This problem isn't new, we have oppression and free/cheap labour exploited and taken advantage of in almost every industry. If you haven't experienced burnout from working in technology in general well good on ya, but we have an industry of glorifying free labour and overworking, and blaming individuals.

I'm not for scape-goating an individual, I want to celebrate supporting people and making sure we take care of each other.

Super keen to bum out more on how this system sucks.

😈

The danger is that with heading towards a more 'corporate contributions' scheme, is that where is the okay line, and not okay line? Where do contributions, mean coercion/prioritizing the needs or returns on investment of corporate entities? That's a problem too.

See The economics of open source by C J Silverio | JSConf EU 2019

I'm more for a community supported software (maybe like CSAs) system of some sort, where we get better at sharing responsibility, ownership, and contributions. I'll add to next section for that .

pottedmeat7 commented 5 years ago

IMO one problem with FOSS is how substantially different worlds are grouped together when perceiving the "issue". I see npm being mentioned here alot. Some saying as an employee I couldn't do s*#t without npm. I have developed web apps end to end and other projects. I did my work building many powerful modern web applications without using npm for any of them. I think the npm, JavaScript, node, world has it's own problems with FOSS or commercial projects. Because there are just so many projects. Also sorry but many of which are essentially completely unnecessary. They don't exist to solve a significant problem. I think also the maintainers and creators of these projects aren't necessarily in FOSS for the best reasons. They create so many JS libraries that may or may not be written to actually work optimally at all, or really be used as a better solution. However the creators, maintainers, may push them to be used by many and then feel obligated for a profit. I'm here to say, just blatantly, that JS libs, including JS frameworks, React, and Node are over hyped. They aren't that big of a deal. It's not the only the way to make a web app. Essentially the majority of JS libs aren't that useful, and maybe they don't deserve as much money as they prefer... 😋 Although sure your projects may have many downloads, but maybe the people downloading all these JS libs don't really even know how to create optimal web apps they just want to copy paste code or entire projects. If I were to donate to some FOSS projects for instance. I would, or should, first consider which projects I really rely on and how much effort that project is to maintain. If I were to calculate that utilization and project effort. The donations would almost 98% go to JQuery, Bootstrap (and maybe some other styling frameworks), and an assortment of support for Ruby, Rails, and then just whatever left to other useful Ruby libs. Maybe Angular (except don't think they need funding, whether or not they deserve it). That leaves about zero for the huge amount of JS libs in the FOSS market. There are also many projects outside of web applications that would enjoy funding, and to some degree FOSS works fine to some degree to achieve it. Those markets and projects just might not be as boisterous as the JS framework/lib world. I'm actually quite considering donating and supporting RoR because it's such an awesome environment and for some unfathomable, to me, reason is declining in popularity. As the JS framework/lib force/fad takes over the industry and fills projects with hundreds of overbuilt and excessively sized dependencies. IHMO 😋

I love Ruby language is like completely complete. I guess with the push of Python as "easier" and "cleaner" it makes sense that Python popularity grows more. As it includes the amount of beginners using it also. However it really seems to have some significant downsides. Out of the main used scripting, or full modern programming languages it's really only a few, with Python claiming the top. However I really think that it is not as a complete and "good" product as the other languages available. There is only a handful of contenders, I think Ruby is really the pinnacle of programming perfect language. Ruby > JavaScript >= Python, for me

I think this decision is important for the FOSS community because these are the underlying tools that really are necessary to provide the power. When you have a unpassable rift between Python 2.7 and Python 3. It doesn't benefit maintainers or users. Or having excessively large saturated market of overly complex, not quite necessary, JS libs. Which creates and pushes a standard of popularity over optimization and effectiveness. It doesn't benefit users it maintainers. It also blurs the line between very useful, widely depended, projects that truly take significant effort to maintain, and libraries that just do one simple thing that someone doesn't feel like recreating.

Also I think language, tool, selection helps the issue of minority inclusion. I think if the programming languages were more sensible and friendly. FOSS would be more inclusive. Certainty much less people naturally enjoy using PHP, which makes it less inclusive, and could drive people without a substantial voice out of inclusion. Just my thoughts. Ruby is just great, I love Ruby♦️😍 and RoR Thank-you Yukihiro Matsumoto and David Heinemeier Hansson!

morgen-peschke commented 5 years ago

But where is the advantage of maintening any react-dependencies if you are not a fb's employee? the fame?

@mr21, at least for me, the benefit is pretty simple: it makes my life easier. When I contribute to a project, that's one less bug or one more feature I can leverage to make my life easier.

ssaavedra commented 5 years ago

@marylychee I feel a bit bad for the out-of-context quote. The next line after the "if you feel entitled" one states the same point of view that I think you are trying to defend, so I think we are on the same page here, although you are quoting me as if we weren't. Besides, the two quotes are reversed, which could make someone associate both with the line of argumentation when they were from different texts by different authors in the former conversation.

Please understand that I do consider myself a free software contributor, and I stated my opinion from such an empathic point of view. My view on free software is that I contribute out of my free will for projects I personally want to, and out of customer's pockets when they need something.

For me, contributing to free software out of free will is something that I enjoy doing because of the gratification of improving something I use, or something I empathise with (even if I don't use it). Here is where I also agree that "it would be nice if such community -that I happen to like- would hire me for some time and really advance on this project". If everyone realises this to be a win-win scenario (= I can sustain myself in this capitalistic world, and the users get quality time from someone devoting it to the project), then that would be great! However, we live in a moment where this is not as easily perceived, so kudos for those that have achieved or are trying this model to work for them already.

On the other hand, for software that I envisioned and created which then happened to be used by users around the world that deemed it to be useful, I can understand (though not share) the feeling of "I just donated all this to the world without compensation". It's true, you did donate it to the world without compensation. But that is a choice you made when you first released it, not when it became used.

If you think "others are using it without contributing back"..., probably so. But you could, too, stop contributing forward. What's keeping you? Others might even fork your project and not upstream their changes back. If you want to restrict some or other uses of your source or of your code, you may think they are more aligned to your goals, but they will probably not fit in the OSI nor the FSF definitions. We already have examples of not-open-source software licenses that could fit this line of thought, like the Business Source License of MariaDB or the Redis Source Available License, for example. But then your project would be incompatible with every and all open source licenses, which all state, by definition, that you cannot impose restrictions to others on the use of the works.

When we are talking about software that you want to create/fix/improve, and you do it voluntarily, if we talk about how to compensate that work, we are talking about the economics of volunteering. It's not a software thing, and this is part of research lines in the economics literature.

And you are definitely right on the diversity issue: not everybody can volunteer their work, or can afford to. This applies to every volunteering effort, even those without a computer. It is a problem that is intertwined with the economic system we live on. I'm not saying that we shouldn't try to look for a way to solve it, but it is my opinion that if we found a way that is worth exploring, we would be able to solve the economics of volunteering on other fields as well. Which, by all means, I encourage you to try to do, but if years of research in economics haven't settled on a framework, I doubt we can come up with a solution in a GitHub issue, but by all means, let's try to prove me wrong :)

And still, for those who can volunteer their work, there are people who either don't feel they belong, or who get excluded by the dominating white-male party, as the article you posted, among others, describe.

However, I don't understand how having an economic stream on the project will help empower those minorities who get cut off the system. From the studies I've read, women and other minorities in the software dev. field get excluded due to concerns related to people, not concerns related to the economics of software development, so I feel yours to be a straw-man argument. Perhaps I'm failing to see a connection that is obvious to you, and if so, I'd love to be enlightened.

I personally think (right now, let's see where the conversation goes) that ads in the source code/dev output are more in the problem aisle than in the solution one. I think it's a much better place to put non-tracking plain ads in the README (or even docs!) of the project (which, surely, you don't reap the benefits of transitive dependencies).

I don't think that the companies are glorifying free labour that much. For open source projects that companies put forward, they are employing people to create such open source projects, so I don't think it's as much free labour to them. It is on volunteer-driven projects, but that happens to be the definition of volunteering. I agree with you that the ultimate economic problem is driven by the underlying economic rules we are using, and the video you link to (plus its second part) although it's quite good at pointing some flaws, also fails to address possible solutions, so while I think it's enlightening, I don't think it is constructive enough on its own.

Not sure if it would be on topic to switch from "what's wrong with Open Source right now" to "what's wrong with our economic system right now".

Besides, we are only talking about the concerns on the "economics of open source", and not any other things that might be wrong with open source.. is the only problem of open source its economics?

AmazingTurtle commented 5 years ago

Maintaniers often justify showing ads with it's my project, I do what I want. I see a lot of co-workers have that sense in common. They just think it's their project, let them host ads

I don't see a good reason to argue with those people... This is a way-out-argument.

marylychee commented 5 years ago

hey @ssaavedra thanks for taking the time to reply. I appreciate your thoughts and perspectives. And sorry for misquoting you.

Good question regarding economic stream & minorities. Having recently working on Diversity & Inclusion funding for supporting people to dweb events, you're absolutely right in that having funding in itself is not enough. We got to measure and prioritize efforts, and measure how funding is used, generally a lot of care and energies is required. However, having some D&I funding definitely did make an impact as it meant that energies and resources was purposefully put forward and dedicated towards inclusion. And the benefits wasn't just diversity for the sake of 'tracking diversity', but interesting new projects and creative outcomes, and the inclusion of people who would of never been part of things. It was probably one of the hardest 'volunteering' efforts I agreed to take on ever, and I had to learn that 'it ain't always about just putting the money there' and also what commitments and transparency and responsibility that entails.

True. We "could, too, stop contributing forward." What's keeping us? I dunno generosity? Knowing a few people that genuinely are helped by it? Us also benefiting from other's openness and generosity? It's not about totally stopping or giving everything away, there's a lot of room in between for exploring this notion of reciprocity. There's heaps of space to explore between the grey areas between give everything and give nothing.

But yes, I agree, I don't think ads are the way to go and Readme for sure way, tho still I don't think that effective?? At the very least this experiment brought us here together to try bring light to the situation, and it's nice to have people with some critical thinking, reasoning, and patience to hear each other. So thanks for that.

I do think it's healthy to ask how interdependent the questions of "what's wrong with Open Source right now" is to "what's wrong with our economic system right now". We are operating within the constraints of this system if we fail to understand the ways we de-facto navigate in it, then we continue to perpetuate yucky ideas like advertising or worse surveillance. I think it's why everyone had such a knee jerk reaction to the ads. We're already so over-bombarded with ads in our everyday lives of selling hot commodities. We want a different kind of relationship with each other.

So you're right, it's not just economics that's wrong. It's cultural and that then underpins how economics flows.

Those videos probably are good/maybe point out the obvious, and yes don't yet give full potential solution~~. I held back on sharing potential ideas because I wanted to keep this the poo poo bum out thread lol but yeah in terms of research, I do purposefully take time out to check out Analogous Inspiration/research from different fields.

You’re probably familiar with what an analogy is: it’s an associative thought-process that allows you to transfer meaning from one subject to another. Analogous research takes inspiration from a different context to give you a fresh perspective.

So from taking analogous inspo/understanding from the domains of Agriculture, where it was probably the origins of extraction/exploitative labour, you'll see people are struggling with similar problems and challenges in nutting out what's fair, how we define ownership, who get what, and who gets fed. It's similar in that, a lot of labour are done by people who don't reap most of the fruit/benefits. In these situations, people had to start to be creative, and find that sticking together and communicating, and creating solidarity was really important and worked, creating strong networks of Community Supported Agriculture. heck, I'm not even sure what Community Supported Software might look like, as we're working with the distributed here, but I'd be interested in exploring notions of more shared responsibility, reciprocity and sustainability.

lieryan commented 5 years ago

I do agree that sometimes, there is a need to support maintenance and stuff, but the moment the focus of the software moves from passion/fun/sense of duty to the communit to making money/profits, I think we are no longer talking in the spirit of OSS; just business like any commercial company.

That's a common misconception. From the mouth of Saint IGNUcius Stallman himself (https://www.gnu.org/philosophy/selling.en.html):

Many people believe that the spirit of the GNU Project is that you should not charge money for distributing copies of software, or that you should charge as little as possible—just enough to cover the cost. This is a misunderstanding.

Actually, we encourage people who redistribute free software to charge as much as they wish or can. If a license does not permit users to make copies and sell them, it is a nonfree license. If this seems surprising to you, please read on.


For example, GPL for non-commercial use, and commercial use requires paying into the project's official Open Collective.

That would actually be in direct violation of the spirit of GPL. Freedom 0 of the four essential freedoms state: "The freedom to run the program as you wish, for any purpose (freedom 0)."

In principle, "any purpose" includes, among others, using it for commercial purpose, for use in weapons project, for use by malware authors, for use by dictators in their world domination plan, etc. Free software don't discriminate.

mixmix commented 5 years ago

On Github, there's a confusion between reporting bugs/ issues and _asking for help.

Often with my friends, it's the same thing. Often it's beneficial to have a conversation to explore the issue more deeply. But it's mistake to conflate that personal conversation with obligation to fix things. I think this is a design flaw that Github Issues have revealed.

benhylau commented 5 years ago

@lieryan yes you are absolutely right about Freedom 0. I am proposing a license that scopes Freedom 0 to non-commercial only, like Prosperity but also require GPL type of use for non-commercial. If I personally have a project that can be used by Amazon to run off of AWS and make tons of 💰 off my unpaid labour, I would absolutely use a license like that.

@ssaavedra I wonder if you know of a license like that, seeing you have stated a couple licenses above. To your post, I agree financial sustainability will not solve all diversity problems, but unpaid labour definitely perpetuates it https://github.com/feross/funding/issues/11#issuecomment-525138989. Lack of financial sustainability for FOSS contributors not only creates an on-boarding barrier, but also in retention of talents, and it's especially harmful to small communities without a lot of tech opportunities. People develop skillsets using/contributing to open source software, sometimes with local community support, but they end up leaving the communities partly because FOSS is completely voluntary work and they cannot have a livelihood from this. So we end up having only FOSS contributors from major cities. Do I think people will stop moving from villages to cities if we have better FOSS funding? No, of course not. But it definitely offers an alternative path that could geographically distribute talent more evenly.

ssaavedra commented 5 years ago

@marylychee thanks for diving deeper on the conversation, I appreciate the time to reply too.

I understand the similarities you see with the agriculture field, and it's quite appalling that from such first type of organized labour through the history of humanity we haven't yet grown the societal conscience needed to eradicate exploitative labour, not there, nor in other fields of the economics in humans. However, I see a subtle but important difference with the agriculture field (and that's why I prefer to think on this on terms of the printing press or maybe the music fields).

Above, I talk about "value extraction" as the process of value flowing from the human performing the task into the work product, where it is later potentially consumed and transferred to another work, or to another human.

At this point is where I think the fundamentals of the framework will need to fork from the agriculture constructs in order to be applicable to software.

No doubt it's much better studied how to have a co-operativistic environment of agricultural actors: you can operate within your own rules inside the cooperative, and even have a single "capitalistic interface to the outside world" by selling your seeds/plants and buying seeds/tools/etc from the world if needed. But inside it, you can isolate yourself from the economics of value extraction and work in other ways to support your community that are more humane. This is not theoretical, as you mention, this is something that already exists.

In free software you could still set up a company that creates free (as in freedom; and not for free) software for clients, and have such of the same kind of interface. You can, within the coop set your own rules for the economics of labour and cooperation. This is also something that I know is working for several communities already.

But, if I understand the implications, you want to put the clients "inside the company" too, incorporating them into the "community" of what community-supported software would look like. The underlying objective being that we'd would want those within the community to reap the benefits of software production in ways that are more beneficial than outsiders. However, this has the scent of a "restriction of use" for those outside the community, which means that your software would not qualify as open source as per the current OSI definition, nor free software per the FSF one.

I can understand this desire for reciprocity, but maybe we are all forgetting that we are already getting some reciprocity out of the free software world, especially if we are using copyleft licenses: we can already use all the free software in the world from others too while working on ours! And those who redistribute derivatives of our software (under copyleft licenses) will need to contribute back to the commons, where we can collectively again profit from their work.

I see three things wrong with the proposed approach, and with advertising in particular at first glance, and I'm surprised to not have read this yet:

This npm package (or any other) comes also from a legacy of open source projects that, if we had to weigh by their use value in this context, were in their majority sponsored by big corporations, and in particular in this case, by Google Inc.

If you would excuse my oversimplification, I hope you agree with me that the path npm > nodejs > V8 > chrome > webkit > KHTML is probably where the most part of value-capture has occurred in the chain. But precisely Google, Apple, Nokia and the employers of the most part of the hours put into those projects seem to be doing quite well in terms of financing. It humbly seems to me that this focus on trying to tap into resources that much downstream is a bit blind against what had been done upstream and being able to objectively weigh the value of those giants whose shoulders are we standing upon, which can be illustrated by the parable of the broken-window.

In general, when you donate* your software as free software, you are also donating the possible royalties you could have won if you used a different framework other than the free software one. You can think that these royalties are now in the commons as well, and that thanks to those you have been able to, in the first place, come up with your software. You may want to capture those benefits, but then, this is not something "wrong with open source", it's a different model altogether.

True. We "could, too, stop contributing forward." What's keeping us? I dunno generosity?

I fail to see how it can be generosity if you want to extract value from others while those others are not trying to do that from you.

I sincerely want to understand this issue better, but I fail to see the novelty in what we are talking about: if we are talking about reciprocity-based non-free software (or, in general, works that cannot fit the broader definition of free cultural works), we already have frameworks in place, such as the BSL, the RSAL, or in more broader terms, Commons-Based Reciprocity Licenses, like the Peer Production License (which is an example of a "copyFARleft" license, as they call it).

And if we want to fairily redistribute money to projects, putting aside all the theoreticals for commoners and cooperativism, we would need some framework that necessarily spans more than just a single project, in order to assess and watch over the fariness of how funding is distributed. But we also have some of those: at least, OpenCollective, which is more focused on the individual settings, and Tidelift, which seems to try to do exactly this, no matter that much if you are under a cooperative or neoclassical framework.

What's the novel thing that we are talking about here?

@lieryan, when you quote RMS on:

Actually, we encourage people who redistribute free software to charge as much as they wish or can.

Here the operative word is redistribute. You are just giving reason for GitHub to charge us to use their platform. The phrase does not say we encourage people who {work/contribute/etc} on free software. So, while the quote is accurate, I think you are presenting it here in the form of a straw-man.

@benhylau you don't seem to agree on Freedom 0. "Scoping" is just a synonym here for "restricting", and "restricting a freedom" is exactly the opposite of what "freedom" is. You cannot have a regime where "freedom of press" is scoped to just press owned by the regime and still say that you have "freedom of press". Likewise, you cannot restrict commercial entities from shipping your software if you want to say your software delivers on freedom 0, or, rephrasing, you cannot do that if you want to say you are writing free software or open source software.

For a license that prevents clouds like AWS from profiting from a free software database system for free, this in particular is one of the reasons Redis states they created the RSAL for, as they themselves state:

Why did Redis Labs adopt RSAL?

[...] some cloud providers have repeatedly taken advantage of successful open source projects, without significant contributions to their communities. They repackage software that was not developed by them into competitive, proprietary service offerings and use their business leverage to reap substantial revenues from these open source projects.

We created RSAL to address all these concerns and provide maximum freedom of use (similar to permissive open source licenses), while continuing to protect our rights against cloud providers. [...]

Is RSAL open source?

Although the source code is available under RSAL, according to the Open Source Initiative (OSI), an open source license cannot include limitations. Therefore, certain restrictions imposed by RSAL mean that any software under this license is not open source by definition. However, in practice, RSAL is very similar to permissive open source licenses, and only restricts cloud providers from gaining commercial benefit from software that was not developed by them.

@ssaavedra I wonder if you know of a license like that, seeing you have stated a couple licenses above.

Sorry, a license that... what? I think you missed some words. Maybe I'm already replying with my former words? :-)

I do not believe that lack of funding creates an onboarding barrier, and I would be impressed to find out that having money in the process would create more harmony than confrontation and more cooperation than competitiveness. I have witnessed otherwise, though I grant that there were some flaws that may limit generalization.

abbey-titcomb commented 5 years ago

Question for the thread (coming from someone who isn't a maintainer):

How do we view the role of foundations in the context of FOSS sustainability? Do you all believe foundations are playing an active / supportive role in sustaining FOSS?

If not, what can we do/build to better distribute capital stored in these major players (foundations, companies, etc...)?

s-thom commented 5 years ago

I'm early on in my career, so perhaps this is inexperience speaking. I'm curious about how we got here in the first place, where this is an issue.

FOSS seems to me, by its very nature, a system that doesn't give back to the maintainers. It's there in the first word of the acronym. What I don't see is how someone in this system can reach a position where they feel like it's financially better to leave a full-time high-salary job (often giving up benefits in countries that have those) in order to be full time in a system that's built on the idea that nothing (monetary) flows back.

millette commented 5 years ago

@s-thom F here stands for Freedom. See https://www.gnu.org/philosophy/selling.en.html

Free doesn't refer to (no-)cost. As in, "Free market", not "Free beer".

mightyiam commented 5 years ago

Some people desire to work on some specific open source projects full time. They are looking for ways to get funding for that. That's the gist of it, @s-thom. What you're insinuating is that they don't work on those projects in lieu of funding. That they be pragmatic. Sounds reasonable to me. This conversation is about obtaining that funding to the benefit of everyone. BTW, this experiment is over.

tunnckoCore commented 5 years ago

@ssaavedra While I don't think that Free Software developers are entitled to a sustained income, I don't disagree on the general point that such contributions can be valuable and should be fairly rewarded, and encouraged to continue participating with more valuable contributions, and thus, achieve such an income.

Agree. Exactly. It's about fairness and respect. It's not about the money or getting huge cash bag just because you are greedy or you decided to volunteer your time and passion. It's about getting some money or reward, so you can feel you are doing something good and others appreciate it in some way, so you can continue doing it. Using your software is just one side of appreciation.

It's a problem in many places, not only in software. It's a problem in society and economics that we live on today - as you both discussed. But this doesn't mean that we shouldn't try to fix the problems and try to change the system. Feross experiment was just interesting approach, but obviously not the way.

@ssaavedra If you think "others are using it without contributing back"..., probably so. But you could, too, stop contributing forward.

Yes, of course. You can. But that's a sad thing. And yes, I agree, that if it provides value it will find a way and devs to proceed. The thing is that, as one said, even if you are searching for good maintainer it costs you time too. Also, if you have many projects, you can't do that for all of them. For some you may find, for others will just stay there.

@marylychee It's not about totally stopping or giving everything away, there's a lot of room in between for exploring this notion of reciprocity.

Absolutely. Balance.

Yea. It's a tricky one. The thing is to find a good balance.

@ssaavedra I personally think (right now, let's see where the conversation goes) that ads in the source code/dev output are more in the problem aisle than in the solution one. I think it's a much better place to put non-tracking plain ads in the README (or even docs!) of the project (which, surely, you don't reap the benefits of transitive dependencies).

Mmm. I found some others on that point too. But not exactly right. It's output on the installation process, not in the source code, which for me is kind of acceptable. You can just skip it (or even disable it) and continue not caring about that, right? :D I don't see anything wrong in that. Also, @feross point was exactly about the transitive dependencies, which are invincible.

Or maybe I'm biased because I'm part of that transitive dependencies party and never get a cent from them. And I'm not feeling entitled. I'm okay with that - I just physically can't handle all of them already and hoping to change that soon. I'm not okay with the thing that I left them no matter that they are still used, still green (ci, tests & anything), and not touched for years - this means one thing: I've done my job very well and my users appreciate it. But I just don't like to see that their past, current and future users need to watch that these packages don't have any activity.

I think that proper licensing may fix the issues. The thing is that there are tons of same licenses with just different names and 2-3 words change, which not make any difference. Many people are talking about license proliferation and that we should not create new ones. I'm against that, we should. Not to mention that especially when we are talking for JavaScript, we need carefully designed license. For example, GPL is too strong and too much in the JavaScript/npm/nodejs/browser context. Just think what will happen if Feross, or Sindre, or Jon Schlinkert, or even I, move even small portion of the packages to the GPL. This will mean the whole ecosystem of million packages will need to be GPLed too. Which is insane and complete non-sense. That's why we ended up here with 90% MIT licensed packages and the rest are MPL/Apache or micro portion of GPL. The MPL 2.0 is quite good and I'm feeling it is trending (with Apache too), but it's not enough in my opinion.

I personally am moving to MPL2 + CLAs (from Apache2, most of the npm packages with it may be mine, haha), just because I need and want more guarantees.

vweevers commented 5 years ago

On Github, there's a confusion between reporting bugs/ issues and _asking for help.

Often with my friends, it's the same thing. Often it's beneficial to have a conversation to explore the issue more deeply. But it's mistake to conflate that personal conversation with obligation to fix things. I think this is a design flaw that Github Issues have revealed.

@mixmix Not to defend the entitled crowd, I do think with the GitHub features that are available today, maintainers can and should communicate that (lack of) obligation per issue. Users may not know what is expected of them or what the status of an issue is.

Labels solve it to some extent. An initial conversation can be labeled question. When it surfaces a bug or feature request, add bug or enhancement. If you can't or don't want to take action, state who is expected to take action with a label like help wanted. Recently I've also started to use semver-major/minor/patch labels, which communicates the impact of a requested change. Users can understand that semver-major typically requires more care.

That said, I would like GitHub to improve in this area. I like the above flow, but it's one of many and initially invisible to a user. In addition, users don't know whether a repo takes support requests (some do some don't) which creates a barrier of entry.