Skip to content
This repository has been archived by the owner on Oct 27, 2020. It is now read-only.

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

Open
mixmix opened this issue Aug 24, 2019 · 34 comments
Open

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

mixmix opened this issue Aug 24, 2019 · 34 comments

Comments

@mixmix
Copy link
Collaborator

mixmix commented Aug 24, 2019

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:
✔️ personal experiences from working in open-source
✔️ challenges you've experienced resourcing open-source
✔️ 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:
❌ coming up with solutions
❌ complaining about this module

@traverseda
Copy link

traverseda commented Aug 25, 2019

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
Copy link
Collaborator Author

mixmix commented Aug 25, 2019

Maintenance is hard work, and thankless.

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

@marvindanig
Copy link

marvindanig commented Aug 25, 2019

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
Copy link
Collaborator Author

mixmix commented Aug 25, 2019

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
Copy link

traverseda commented Aug 25, 2019

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

This comment has been minimized.

@dabockster
Copy link

dabockster commented Aug 25, 2019

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

This comment has been minimized.

@mr21
Copy link

mr21 commented Aug 25, 2019

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
Copy link

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

  • Code layout briefers & contributing processes
    • Helps the user grok the code; understand the components within a project and how do they work with each other
    • Examples: material-ui.com
  • Issue & PR templates & process
    • Helps the user provide an in-depth overview of the problem
    • Helps the maintainers review submitted fixes
    • Examples: material-ui.com
  • Community endpoints
    • Lets the user reach out to other users first before reaching out to maintainers; e.g. on spectrum, reddit, stackoverflow
    • Examples: react, material-ui.com
  • Sponsorship endpoints
    • Lets the user shell-out some cash (patreon, opencollective, etc) if they got some extra
    • Examples: material-ui.com
  • Free support
    • Maintainer just provides ideas / feedbacks on other people's attempts to fix problems
    • Examples: sindresorhus commenting reviews on PR's submitted by other people
  • Paid commercial support
    • Maintainer provides dedicated support / consulation at some price
    • Examples: alexhultman on uwebsockets
  • Enterprise products
    • Maintainer separates high-maintenance features into a separate product
    • Examples: antirez on redis enterprise
  • Infrastructure sponsorship
    • Maintainers accept infrastructure sponsorships from companies to reduce their overhead
    • Examples: material-ui.com with circleci, netlify, browserstack, codecov etc

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
Copy link

mr21 commented Aug 25, 2019

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

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

@simonwep

This comment has been minimized.

@rimace
Copy link

rimace commented Aug 25, 2019

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
Copy link

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. dominictarr/event-stream#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 #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
Copy link

simonwep commented Aug 25, 2019

@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

This comment has been minimized.

@simonwep

This comment has been minimized.

@mr21
Copy link

mr21 commented Aug 25, 2019

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
Copy link

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
Copy link

ghost commented Aug 25, 2019

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
Copy link

mr21 commented Aug 25, 2019

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
Copy link

mr21 commented Aug 25, 2019

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

@jashgala
Copy link

jashgala commented Aug 25, 2019

@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
Copy link

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 #11 (comment), 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.

  • It gives users a loud voice on what's important to them by voting with the same thing that gives them value
  • It still gives a voice to those who can commit less money, because if the thing is relevant, it will be bountied further by others who may see the feature interesting too
  • It is more transparent about who the money goes to, and what for
  • It gives users an incentive to become contributors, and increase the long-term strength of the project, also giving the ability to core developers to step back if they wish to, without feeling they are irreplaceable

However,

  • This has the risk of money taking control of the planning and long-term development of the project; but there the core developers may also decide if money provides more value to them than actually setting a long-term plan pro bono.
  • Having pledges linked to the "upstream" project prevents them from being vetted by the backers until upstream maintainers can review the task, reducing the value capture of forking the project and implementing missing features (e.g., on an unmaintained repo with a maintained fork)

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
Copy link

marylychee commented Aug 26, 2019

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
Copy link

pottedmeat7 commented Aug 26, 2019

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
Copy link

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
Copy link

@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
Copy link

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
Copy link

marylychee commented Aug 26, 2019

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
Copy link

lieryan commented Aug 26, 2019

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
Copy link
Collaborator Author

mixmix commented Aug 27, 2019

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
Copy link

@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 #11 (comment). 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
Copy link

ssaavedra commented Aug 27, 2019

@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).

  • In agriculture, the kind of work you do is a physical one.
    • Result of work yields a valuable and scarce resource
      • Work product is removed when consumed or incorporated in other work
    • Work needs/can be repeated to produce more amount of the same resources
    • The exact same work is still valuable
    • Value extraction occurs at the moment the physical work is performed or repeated
  • In software (or music/literature/...), the kind of work you do is an intellectual one (except for the poor little fingers against the keyboard).
    • Result of work yields a valuable but abundant resource
      • Work product is not depleted when used, reused or incorporated in other work
    • Thus, the exact same work does not need to be ever repeated
    • Repeating the same work is no longer valuable
    • More work (that is subtly different than the former) creates more value of a different kind
    • Value extraction occurs at the moment of writing

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:

  • It ties the exchange-value of the advertisement value to the use-value of the piece of software being used. Under a marxist framework, you would have tied the exchange-value of the advertisement to the labour-value of the software crafted. Otherwise, you are reaping the surplus value from the commons, which I would argue is one of the greatest benefits of free software, and of cooperativism too
  • It does not compensate back to those you are building upon, and this completely unbalances the narrative. Because you are also building things using other free software things, and at some point in the chain, you can no longer put more advertisements.
  • The economy of attention is probably one of the most disruptive when you are focused and concentrated, and think that the money the advertiser is putting into the ad for you to see is also money/time you are losing by getting unfocused from your work. So, let's not think only in the value gain for the project, but also in the value loss of reduced productivity through users. This argument I think is quite powerful in itself, since you can only argue no reduced productivity if the ad is not shown, which would defeat its purpose in the first place.

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.

  • donate as in: either worked for a salary or volunteered your work, but the copyrights of the result of such work is now unrestricted from any employer and can be freely published by you.

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
Copy link

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
Copy link

s-thom commented Aug 29, 2019

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
Copy link

millette commented Aug 29, 2019

@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
Copy link

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
Copy link

tunnckoCore commented Aug 29, 2019

@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
Copy link

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests