14 ms·
Open source is not about you (2018)
- deleted 4y ago[deleted]
- pharmakom 4y agoTLDR: take it or leave it And quite right too.
- capableweb 4y agoYup. The snippet I like best (which can act as a TLDR as well) from this is the following: > If you have expectations (of others) that aren't being met, those expectations are your own responsibility. You are responsible for your own needs. If you want things, make them.
- b3morales 4y agoDepending on what you want for your project, though, this isn't unilateral. If you want a supportive community of engaged users, you must engage with them in return. It's necessary in any relationship to accommodate or at least recognize the needs and desires of the other party. You cannot expect them to stay involved if your answer to everything is "take it or leave it". I hasten to add that I am speaking in general. I am not familiar with Clojure and I am not saying that Rich Hickey and the Clojure project behave one way or the other.
- dgb23 4y agoI think it’s more than that. The quality of a foundational project, like a language, hinges in very large parts on stability and long term decisions. Saying “no” is the primary defense tool here. It is something that I’ve come to appreciate over the years, but didn’t really get initially. A message like this one gives me great confidence in trusting the project.
- pessimizer 4y agoPeople are actually afraid to say that directly for fear they'll be forked out of their own project. It's a legitimate fear, but it's also a fair fork. OSS maintainers are not responsible to us, but neither are we responsible to them. That's not how gifts work. If your maintainer is having an emotional breakdown or just wants to do something else, you route around it. Other licenses are available.
- capableweb 4y agoOne submission in the past with lots of good discussions: https://news.ycombinator.com/item?id=18538123 https://news.ycombinator.com/item?id=18538123 | 734 points | 2018 | 281 comments One of the main takeaways personally from this post, is the unique position Clojure (and other lisps) are in, where language additions can be done as libraries instead of changing the core of the language. Other languages don't (always) have this possibility. Taking TypeScript as one example. If 20% of users want to be able to do something in TypeScript that the language doesn't support, they either can try to get the change into the core language, or live without it (or fork it). If it changes, it'll change for everyone using TypeScript But in Clojure (lisps in general), you don't have this restriction, so modifying the language for your own need, becomes a lot easier. Lots of work on Clojure is simply done in libraries, as it's possible and doesn't impact the core of the language, which everyone shares.
- dgb23 4y agoAnd it shows. Some of the more impressive and powerful libraries have incredibly ergonomic and clear interfaces, because the language let’s you simply do more with it.
- matheusmoreira 4y agoI'm not familiar with clojure or its libraries. Can you post some examples of well designed interfaces?
- capableweb 4y agoIf you're not familiar with lisps in general, it might be hard to grok the differences between lisp-macros (as used in Clojure) and "normal" macros you see in other (non-lisp [sans Elixir I think]) languages. But, if you are familiar already, and just wanna see examples of neat macros that makes the API nicer than what a function could provide, here are a few: - https://github.com/clojure/core.async/blob/master/examples/walkthrough.clj https://github.com/clojure/core.async/blob/master/examples/w... - https://github.com/weavejester/compojure https://github.com/weavejester/compojure - https://github.com/ptaoussanis/timbre https://github.com/ptaoussanis/timbre - https://github.com/krisajenkins/yesql https://github.com/krisajenkins/yesql Furthermore, macros enables APIs like this, that would be impossible to have in JavaScript for example: (spy :info (* 5 4 3 2 1)) => 120 %> 15-Jun-13 19:19:13 localhost INFO [my-app.core] - (* 5 4 3 2 1) => 120 `spy` here doesn't just print what the `` form is returning, but the form itself too. You wouldn't be able to achieve this without macros, as the evaluation of the `` form would happen before it gets passed to `spy`, so the initial form is already gone. Instead, a macro received the very code you pass into it, so you can print it, inspect it, rewrite it or whatever.
- kazinator 4y ago> As a user of something open source you are not thereby entitled to anything at all. Wait; I'm not even entitled to software not doing anything blatantly illegal on purpose, or perpetrating a privacy violation without my knowledge and consent? Also, "open source" has an even greater focus on getting paid than "free software". Surely, if people are paid, certain entitlements exist between certain people, even if none of them happen to be the author. E.g. if you use a phone that runs on a Linux kernel, you may be entitled to kernel security updates, at least for a certain support period. By the way, as a user of closed source, you're not entitled to a heck of a lot, either; according to the reams of text in a typical license agreement. If the thing causes data loss, too bad for you, says the disclaimer.
- capableweb 4y ago> Wait; I'm not even entitled to software not doing anything blatantly illegal on purpose, or perpetrating a privacy violation without my knowledge and consent? Exactly! Try to reading through the licenses of the code you pull in, and it'll be evident. Here is a excerpt from the MIT license > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED If the code you randomly pulled down from GitHub puts your computer on fire, you're the only one responsible for that happening. > Also, "open source" has an even greater focus on getting paid than "free software". Does it? Which Open Source license has any focus on getting paid at all? You seem to mix up "development/funding model" with "distribution license", where Open Source is the latter, not the former. > Surely, if people are paid, certain entitlements exist between certain people Depends on the funding model. Open Collective, Patreon and GitHub Sponsors are all donations, where you donate without any expectations of getting anything at all back. > E.g. if you use a phone that runs on a Linux kernel, you may be entitled to kernel security updates, at least for a certain support period. Sure, you probably are, but not from the Linux kernel, but from whoever you bought the phone from/your carrier. This article is about the kind of people write software like the Kernel, not the people who sell your products using FOSS.
- jeroenhd 4y ago> If the code you randomly pulled down from GitHub puts your computer on fire, you're the only one responsible for that happening. That's what's the license says, but your local laws and regulations might disagree, and your license does not overrule the law. Distributing malware is illegal and malware is defined differently in different countries. If you intend to upload sketchy code, make sure you've read up on what constitutes as cybercrime where you live because one of your victims may go to the police. To make a flawed comparison: setting up a stand with cookies that happen to be poisoned next to a sign that reads "cookies free to be eaten at your own risk" don't necessarily let you go free when someone ends up in a hospital. Now, as a counter argument, your average commercial OS is packed full of what would've constituted spyware twenty years ago, so you're probably free to package some types of malware. I don't know if what the colors.js guy did was illegal (at least he reminded people oftthe dangers of npm, which everyone then proceeded to forget) but I think he got away without a lawsuit. I doubt he'd gotten away would he have lived where I live, though.
- PhilKunz 4y agoI think a little bit differently about that: There are some duties that apply to people that are open sourcing stuff: * Don't lie about what it does. * Don't hack people by smuggling some nasty code into minor version updates. * Don't leave people vulnerable to third party exposure by not taking care of your private keys. I am an Open Source dev myself, having about 300 modules on npm. I use it as reputation credit for actually getting jobs that pay good money. If you are an Open Source dev, you are a "Code Influencer". You have to be straight about what you do. It is the same for normal influencers when they have to declare any paid promotion stuff.
- capableweb 4y ago> There are some duties that apply to people that are open sourcing stuff: No, zero duties. The express purpose of Open Source is that I can release code for free to world, and it's your responsibility to figure out if it's what you need. Adding some arbitrary "duties" that people must fulfill to release open source, is something else, and should not be called just "Open Source" as that already has a definition. If you get hit by any of those points you list, then you're the one responsible for that. > If you are an Open Source dev, you are a "Code Influencer". That's mixing up terms. Open Source developers are developers who release Open Source code, that's it. People who try to "influence" the ecosystem one way or another, could be called "code influencers" I guess, but please don't mix them together. One doesn't imply the other.
- PhilKunz 4y agoSo how is a normal influencer then an actual influencer, and not just a person "releasing" content "for free to (the) world"?
- capableweb 4y agoI couldn't care less about the definition of what an "influencer" is or not. What we're talking about here is releasing code as FOSS. Just because I add a MIT license to code I publish publicly, doesn't mean I want to be some "influencer" or whatever. It just implies (rather explicitly) exactly what it says in the license text, nothing more, nothing less.
- bachmeier 4y agoAs much as I respect Rich Hickey, it's hard to say anything positive about this. It has basically nothing to do with open source. It's entirely specific to how he chooses to run his own projects. Open source is not a gift in the sense that you "get what they give you". You are entitled to the source code. You are entitled to modify the code. You are entitled to distribute your modifications. Are you entitled to be part of the development process and to state your opinions about how things are going? Yes...if those are the rules of the project. The thing is, that has nothing to do with open source, it's always project-specific, so the full post largely doesn't make any sense as a comment on open source.
- ungamedplayer 4y ago>Are you entitled to be part of the development process and to state your opinions about how things are going? Yes...if those are the rules of the project. Open source isn't a a code of conduct. It is a licensed though. The subject and title is not about random projects, it's about clojure and open source.
- bachmeier 4y ago> it's about clojure and open source No, it's about Clojure. It's not in any way about open source. Software can be open source no matter how the person writing it runs their projects.
- Heliosmaster 4y agoI would phrase it that open source is just about the license of code, not about anything else, and definitely not about how changes are applied to such code. Usually, it just practically means that you are allowed to make changes and redistribute them, but without giving any guarantees on how these changes are going to be made available to others.
- grzm 4y ago> ” The thing is, that has nothing to do with open source, it's always project-specific, so the full post largely doesn't make any sense as a comment on open source.” I think that’s exactly the point he’s making. To phrase it another way, open source is orthogonal to the relationship between the stewards and the community.
- moomin 4y agoThe thing is, yes the people who run a project can do what they like, but everyone else remains entitled to their opinion. In the best case scenario, people who are profoundly unhappy can walk, and indeed that’s what’s happened to Clojure. In the worst case, the investment in a platform is so large that people can’t leave. Those people are likely to be pretty vocal if your decisions negatively affect them.
- kryptiskt 4y agoIf you want to build a real community around it there needs to be give and take, you can't just throw the stuff over the wall for the hoi polloi. That might not be suitable for a small project you are content with doing yourself or you might want to set yourself up as the unquestioned god-emperor, who allows others to work for your greater glory but who will not allow any competing vision. I don't like the latter kind of project at all. Open source is about you, or could be about you, if you find the right kind of open source community.
- wildmanx 4y agoWhat open source means and what different people choose to use it for are different things. Of course as a maintainer you may get more out of it if you put effort in for building a community, which then can help you improve the project, contribute, etc. But that's extra effort, and nobody should assume that everybody commits to that extra effort just because they release source code under a FOSS license.
- dimitar 4y agoSo what I notice is that there seems to be a spectrum between feature-conservative and feature-enthusiast open-source projects. RH doesn't name any names but there seem to be more feature-enthusiast projects out there. I wonder if someone could name an example and see the pros and cons of the two approaches.
- capableweb 4y agoI guess one good example (that was mentioned just yesterday here on HN) would be Flask vs FastAPI: https://news.ycombinator.com/item?id=31953470 https://news.ycombinator.com/item?id=31953470 - "There are no open issues or pull requests on Flask " Quick count finds that FastAPI has 48422 lines of code, while Flask has 9995. Flask just achieved "Zero standing issues/PRs" while FastAPI has 1.1K open issues and ~500 open PRs. Large surface area/API quickly leads to be overwhelmed when you're trying to maintain it. Adding new features/fixing existing ones becomes harder as well. Best bet to make sure something is maintainable over time is to add as little as possible to it, and if you really have to, make sure you're also removing something at the same time. Otherwise you need a massive team just to be able to "survive" and not making things rot. There is this blogpost as well about the "half-life of code": https://erikbern.com/2016/12/05/the-half-life-of-code.html https://erikbern.com/2016/12/05/the-half-life-of-code.html Someone run that tool on the Clojure codebase as well, and it really shows how well the Clojure codebase has been written, as most code that was initially written is still there and does what it needs, without having to be rewritten.
- dimitar 4y agoGood point! As for the churn tool, it was for the history of Clojure paper with a comparison to Scala: https://twitter.com/thesephist/status/1472644432621150220?lang=en https://twitter.com/thesephist/status/1472644432621150220?la... I don't know if Scala or FastAPI suffer from feature creep though.
- capableweb 4y agoThanks for finding that, I knew it was out there somewhere :)
- TedDoesntTalk 4y ago> You are not entitled to the attention of others. You are not entitled to having value attached to your complaints. You are not entitled to this explanation. I wish I understood this earlier in my life.
- GChevalier 4y agoI admit I chuckled at "You are not entitled to this explanation" while reading the article. How far can it go xD
- geoduck14 4y ago>How far can it go You aren't entitled to know that ;)
- deleted 4y ago[deleted]
- Buttons840 4y agoHe's not entitled to me reading his rant, or changing my behavior based upon it. Is this deeper? You know, I don't think I've ever participated in a conversation that used the word "entitlement" and came away a better person.
- asib 4y agoThat sounds like a you problem more than a general rule that using the word engenders unproductive conversation.
- matheusmoreira 4y agoI agree, the non-stop one-sided accusations of entitlement didn't seem very productive to me. I wonder if some day someone will write a post about things maintainers aren't entitled to. I can think of several things. This is in no way exclusive to software. It's people in general. Dealing with people is extremely difficult. At least software developers aren't likely to get sued over these complaints.
- ChrisMarshallNY 4y agoI'd certainly be interested in hearing the story behind that. Personally, I have no use for Clojure, myself, and, thus, no opinions on the project, or its participants; other than to sincerely wish them well, and success in their endeavors. Because Clojure (as a specific project) is not something that I use, my opinion of the tool has no bearing on whether or not it is a good tool, or on its creators/community. I completely recognize and accept that my opinion of the tool and its creators is absolutely worthless. So, I'm best off, keeping my mouth shut on the tool and its creators. I can live with that. Since this was linked on the front page of HN, and seems to have remained up for four years, I can comment on what it says, in a very limited fashion, as there are a couple of things that resonate with me. In my case, I'm the original author of a fairly important infrastructure tool, that has been completely taken over, and is being maintained, by a new team of highly capable individuals. I'm barely even a footnote on the project, and that suits me just fine. I pop into the Facebook group for the project, from time to time, and spew up a little historical anecdote, as a trivia exercise. But I started writing that project in 2008, and released it in 2009. I then had to shepherd, maintain, evangelize, and defend the project for ten years, in a sizable community of, for lack of a better word, trolls. The project was meant to help them, and Serve their needs. Getting them to accept and embrace the tool was ... challenging. I was met with suspicion, hostility, entitled demands, condescension, hostile takeover attempts, insults, attacks of various types, etc. Ahhh ... fun times. But in the end, it worked out. One of the reasons that I have all but walked away from the tool, is that ten years of keeping the pot boiling was exhausting. A lot of other stuff didn't get done, while I was working on that, and I had to hold myself back, in many ways. I also made a number of interpersonal mistakes, while evangelizing/defending the project, and learned some harsh, humbling, lessons about myself, and about others. I am eternally grateful to the team that took the project over. I am sure that it is not their idea of a "perfect tool," but it gave them an excellent baseline, and they have extended it, far beyond my initial vision. It now Serves thousands and thousands of people daily. I was also able to soak up a lot of the bullets for them. I'm a pretty tough old coot, and knew what I was signing up for (I am intimately familiar with the target demographic). Now that it's an established project, and some of the new team are quite respected in the community, it is being treated well. All that, to say, that I was tempted to write a manifesto like this, numerous times, but decided that it would only make things worse. I think, in my case, that was a good decision.
- Phiwise_ 4y ago>You are not entitled to this explanation. The rest of the post would be good if not for this crack that lets the rot in.
- oxplot 4y agoHow does it get to this stage where someone has to write up a hostile post to get across this point? Have the maintainers been too nice/polite and/or accommodating and now resent it in face of requests they can't fulfill (and the backlash it may have caused)? I'm genuinely puzzled as to why bluntly refusing a feature, contribution, etc they didn't like hasn't worked for them. It's worked just fine for my limited experience in maintaining FOSS projects. Perhaps there is a scale aspect that I'm missing here.
- davedx 4y agoI’ve said it before: “entitlement” goes both ways. Treating users of your software like the enemy is no way to behave, whether it’s open source or not. If you don’t like your users - maybe it’s time to take a break from software development?
- capableweb 4y agoBased on this post, you get the impression that Hickey think Clojure users are his enemies? I didn't get that impression at all, and I also know that Hickey sees Clojure users as friends, receives feedback from many in the community, and Clojure is open to community contributions, although differently than many other projects are run.
- b3morales 4y agoPerhaps not Clojure, but there are other projects where this is an issue. Users are treated as a burden: the regular response to a bug or request is "well why don't you do it yourself then". I don't really want to start a flame war so I won't name names, but I have seen it. Though I'll say it is thankfully rare.
- wildmanx 4y agoIt's a typical pattern that I've seen in FOSS projects over the last decades. Somebody writes something cool, publishes it, is initially happy about adoption and positive feedback, and then people start to demand more and more of them. Fix this thing, add that thing, here is my code, when are you finally going to merge it, why are you not responding, you are not respectful of me, etc. etc. Then a mix of burnout and resentment happens and the more bold ones issue such a statement. Others just abandon their project and are never seen again. It's very sad, and it's rooted in a basic misconception of what FOSS actually is. That's why such posts are important to educate people, even if it sounds drastic.
- IncRnd 4y ago> The only people entitled to say how open source 'ought' to work are people who run projects, and the scope of their entitlement extends only to their own projects. Yet, you believe you are entitled to say how all of open source 'ought' to work. Does it refer to everyone but you?
- mvc 4y agoIt's been a while since I read this rant but I suspect you have projected the "all of open source" into your paraphrasing of what he said and that in fact he never purported to speak for all open source.
- IncRnd 4y agoYou are projecting your beliefs upon the structure of the article. In the actual article, Cognitect wasn't mentioned until five paragraphs later. The first five paragraphs talked exactly about open source in general terms not limited to Cognitech or to Clojure. What I quoted was the very first sentence.
- gfodor 4y agoDid you read what you quoted?
- IncRnd 4y agoWhat I pointed out through a rhetorical question is that the article's first sentence tells others their opinions of open source are limited, but the premise of that statement is that the author is separate from that rule and by the act of writing this statement is setting a broad opinion which others are not allowed to have, due to the same statement imposing a limitation on them. I was pointing out that the first sentence of the article contains a contradiction in its premise.
- gfodor 4y agoThis isn’t a contradiction - the claim is that the only entitlement one has with open source is that which is outlined in the licenses. This is objectively the floor across all projects. From there, entitlements are granted by project authors and sit outside those granted by the licenses. The error, which is sadly common, is to presume entitlements of the latter kind follow necessarily from the former.
- yieldcrv 4y agoA lot of people follow the mentality that because something is free that it means no criticism or improvement or expectation is valid. That is disingenuous because there are competitive forces just as much as a payment based system. Most things we like about open source are a direct result of that. People compete for personal clout, for community clout, future employment status, future business partnerships
- deleted 4y ago[deleted]
- asn1parse 4y agothis post is representative of the mental illness thats endemic today. First of all, I can start open source project for any reason that I want including all the reasons that he listed that I'm not entitled to. There are no rules and nobody can dictate it either here or elsewhere. Secondly it seems that your lack of education and understanding has led you to this spot and I encourage you to seek more education probably outside the area that you consider your area of expertise. Finally the author of this post made the vital mistake of having expectations of other people, this is the prime mistake most people make and leads to their unhappiness.
- TootsMagoon 4y agoYou are not entitled to define what Open Source is for me.
- eminent101 4y agoOpen Source is already defined here: https://opensource.org/osd https://opensource.org/osd
- bastardoperator 4y agoI'm not going to impose stupid distribution terms on my users or force them to copy files around. It's dumb. If I'm making the code available to the public then just let the public have it. This post looks like it was written by an attorney not someone that cares about sharing ideas open and freely.
- Destiner 4y agoThing is, different people have different goals for open source, and that’s perfectly fine.
- eminent101 4y ago> it was written by an attorney not someone that cares about sharing ideas open and freely Of course it was written by attorneys. Do you know how FSF, DFSG and OSD even began? They found a legal solution to the problem of sharing code while guaranteeing certain rights for the user who use the code! The open source licenses are written by attorneys too. You are free to distribute under whatever terms you want but your code does not become open source just because it is shared with the public. Some countries do not even recognise "public domain". In such countries it becomes necessary to attach a valid open source license to your code. That's why the various open source licenses are drafted by attorneys to ensure they can provide appropriate rights to the user of the code.
- zackmorris 4y agoYa that was my feeling too. I love most aspects of Clojure and especially ClojureScript, but his post feels like projection to me. When someone calls someone entitled, it just means that they feel a lack of entitlement in their own life, probably because they are being taken for granted. To truly transcend in programming or any other discipline, we must first conquer ourselves. Which might mean letting go of expectation, especially from others. If bug and feature requests are piling up to the point that they distract from the work, then maybe their piling up has value. Being mindful of that doesn't mean solving it. It could be more about delegation, or communication, or setting boundaries, or any number of things. I sympathize with him tremendously though. I don't even have a public body of work to showcase, or a way that leads to fame or fortune. Yet I still feel tremendous pressure to perform some days. His post doesn't read too terribly in the face of that kind of pressure.
- jeandejean 4y agoIt's a bit annoying to go through that post without knowing the context of why he's so pissed... Honestly, Open Source is a great source of frustration exactly because they're managed by benevolent dictators that are more often the latter while forgetting the former. Yeah sure that's their piece of code and you're free to fork if you don't like it, but why open sourcing your project in the first place if it is not to have a benevolent ear to potential contributors, in other terms to create a community? An Open Source project without the community is just futile.
- bdefore 4y ago> why open sourcing your project in the first place if it is not to have a benevolent ear to potential contributors, in other terms to create a community? one reason: providing code that others may learn or benefit from even while you recognize that you won't have time to manage a community.
- jeandejean 4y agoI definitely understand there are reasons outside of that, but you should be ready (and happy) for a community to build up on your release of interesting Open Source software.
- bdefore 4y agoit's quite a thrill! until the months fly by and you get a particular kind of tone on an issue opened on your repository for a thing you can't devote time to anymore. and that burn can scar.
- LudwigNagasena 4y agoIt makes sense, but it sounds a bit too radical. As one children's book says, "you become responsible forever for what you’ve tamed."
- sidlls 4y agoSorry, but no. Publishing open source software incurs a self-imposed obligation to the community to support it--and that means most of what Mr. Hickey claims aren't entitlements--or else explicitly abdicate responsibility (and thus control) of it. There are of course no legal obligations (unless the specific license of the project specifies otherwise). But this isn't about that. It's about the expectations and norms that develop in a community.
- tikhonj 4y agoMeh, I think this attitude misses the some of the fundamental social dynamics in the open source world: projects—at least the ones you've heard of—aren't just code, they're communities. People using, or even just talking about, a project are a part of the community. A small part, perhaps, but a part nonetheless. If a project wants to be "successful" in the sense of being popular or active, it needs to maintain a community which almost always includes the fringes outside the core contributors. People who are part of a community, however tangentially, will want something from it, or they're just going to leave—that isn't entitlement, that's just how people's attention works! There's a reason that—"just fork it" rhetoric aside—forking an active project is often seen as an actively hostile social move: it's not about the code or the license, which allow forking by design, but rather about potentially splitting the community. And this also makes sense; if you've built something and want people to use it, having somebody else take their own version and convince people to switch isn't going to feel great! But there's an inherent contradiction between "trying to split the community by forking is hostile" and "the community is entitled to nothing": if you're getting some value from having a community, people in the community wanting input on the direction is not pure entitlement! Now, to be clear, this does not mean that every complaint or request on a maintainer's time is reasonable, and I've certainly seen many interactions that cross the line—but, ultimately, if you're a maintainer and care about having a community around your project, you become a steward of the community by definition. And for stewarding a community? The "you are not entitled to anything" attitude is fundamentally toxic and counterproductive. Critically, none of this applies if you're just making an open source project for yourself. Do whatever you want! But then don't be surprised if somebody forks your efforts and gathers people around a "competing" effort. But you can't have your cake and eat it too; if you want a project that goes beyond just yourself, the community around the project starts to be something that matters.
- longrod 4y agoA huge part of open source is open community, open to feedback, open to suggestions, feature requests and contributions. Obviously there's no entitlement but it's one of the few actual benefits of open sourcing. Edit: I know about "open source but not open contribution" thing which is quite rare (esbuild for one). I don't think that's a good idea for the health of the project. I know not everyone has the mental strength to run and moderate a community but in the software world, a community is akin to being a celebrity. People follow you, wait on you, listen to you, value you, troll you, throw insults at you, shout at you, and show attitude to you when you don't owe them anything. The best part is that someone somewhere knows you. Fame is a huge motivator. If all of the open source projects had huge communities and no funding, there'd be more actively maintained projects than there are now with very few communities. I might even say that a few dollars here and there might not even make a huge difference compared to a few people making issues, taking interest and contributing. Now I know not everyone is like that or should be like that. I am not generalizing here but come on. When you put your effort out there, it is quite reasonable to expect some form of compensation or appreciation. If all the open source projects just put the code out there and called it a day, that'd be a huge disservice to the world. Open source is the birthing ground for a lot of software engineers and all their learning is due to them being a part of a community and contributing. And as to be expected the bad comes with the good. That's alright. If you take the decision to run a community, don't worry about a few bad apples here and there. It's a part of the deal. The benefits of being open community far outweigh the cons. It's no obligation but it sure is a good thing.
- bdefore 4y agowhile i agree that open contribution software is a genuine good for this world for the reasons you enumerate, it is a _subset_ of open source software. OSS by itself does not imply that the author wishes to manage a community around the code they are freely giving. this common conflation causes authors to abandon or suppress ever releasing their source openly.
- bcrosby95 4y agoNo one is entitled to much in life. But people expect many things which they aren't entitled to. This is normal, and does not mean there's something functionally wrong with people that expect certain things. I expect my neighbor to not flip me off every morning. Am I entitled to it? No, not really. Being an asshole is not illegal. But I would probably still complain about it. Does that make me entitled? What you need to do is manage expectations. Which... this is one way to do it.
- bdefore 4y agoExpectations can be set by the license, most of which used for open source explicitly outline that the author is under no obligations. There's quite a distance between your example and the behavior of most open source developers. Are you implying that those who don't respond to suggestions are flipping you off?
- pessimizer 4y agoIt's clearly arguing that we expect many things that we have no right to. Open source developers aren't bound by any expectations that we have of them, but we also have no duty or obligation not to have expectations. My 2¢ is that some open source maintainers have severe boundary issues that are pretty natural for people to have. They need to be liked by everyone, which is probably why they decided to do OSS, because if you give people things for free, they like you. People's expectations rise to the challenge and demand the maximum amount of free stuff, and the maintainer is pushed to their limits to satisfy them for little or no renumeration. But if they stop, people won't like them, and that sets off some useful animal heuristic where that possibility causes them to feel in actual danger (which they may project onto the project i.e. "the project is being endangered by entitled users asking for things.") The loss of what you think people love you for (giving away free shit) is a loss of identity and one's place in the world. The reaction of the demanding users is just as natural. Remember: if you feed a stray dog, people don't naturally feel the dog is now obligated to you, they feel that you are now obligated to the dog. You have to be modern, establish boundaries, and not place enough of yourself in the expectations of other people that they can destroy you with disappointment. It might be better to move to proprietary or Free software. With Free software, you're establishing something and granting it to the public (not becoming something), and you can walk into and out of it with no feeling of guilt or of being taken advantage of. No one else will get rich off your work, and if your work helps people it will live forever. With proprietary software, you're dealing with safe, formalized purchase and support relationships. It's this OSS shit that seems to drive everyone crazy.
- rob_c 4y agoStrongly agree but it won't impact users being users. Paying users have made an investment and have something to lose. Users of free at cost tools and products view that have nothing to lose so some act very badly. Unfortunately this won't go away with a rant, but support for fellow devs against bad users is always worth acknowledging.
- lamontcg 4y agoI'd still like the ability on GitHub to easily lock down PRs and issues to a trusted set of a dozen or two collaborators. I really don't like this idea that because I open source some code that I'm working on for free that I become the help desk and abuse sink for anyone who can figure out how to register on GitHub.
- mixmastamyk 4y agoCan you not ban truly abusive individuals from a project? That’s surprising. On the other hand, ignoring the merely annoying is free. And happens to me all the time.
- lamontcg 4y agoThere's a tax every time you need to read someone's pleading showerthought and close it because you don't have the time or don't care to do it. You still have to read it all, you still get annoyed by it all. Unless you're a total emotional robot none of it is actually free. It is also interesting that I'll get downvoted and criticized for wanting to run my own project this way. As the first sentence of the linked note puts it: > The only people entitled to say how open source 'ought' to work are people who run projects, and the scope of their entitlement extends only to their own projects. Lots of people out there seem to want to force me to collaborate with the world, for my own good, not just open my source code up for use. All I want to do is limit collaboration on my own solo free-as-in-beer project.
- mixmastamyk 4y agoYou don’t have to read it all. Also I think you can turn off issues/wiki on github as well.
- capableweb 4y agoUnfortunately (and for seemingly no reason), you can't seem to turn off pull requests.
- motbus3 4y agoopen source has been used as a way of fighting patent trolls and also claiming ownership of similar systems.
- streaming 4y agoAs someone who started and ran a very successful open source project, I feel his pain. You get a large following of adopters, some of whom feel entitled to demand features or priority for bug fixes even though they aren't contributing anything to the project. If they don't get what they want, they start bad-mouthing you in order to bring more pressure. After about 6 months of observing this, I finally had a good discussion with my brilliant Principal Architect, who helped me respond as follows... If you would like a new feature or bug fix, you have the following options; 1 - Improve the code yourself. 2 - Pay someone to improve the code. 3 - Ask nicely, and wait patiently. Or, 4 - Openly criticize the project leads. If it were me, I wouldn't choose option 4. But that's just me. Once I posted this to the main forum thread where people discussed the project, most of the participants rallied to support me, and peer pressured in the discussion threads helped keep open source entitlement to a minimum.
- 59nadir 4y agoFor context, this rant was inspired by someone who complained that "1. Improve the code yourself" was prohibitively slow and even if you did solve the problem there could be a months/years-long turnaround only for it to be declined: https://gist.github.com/halgari/c17f378718cbd2fd82324002133ef678 https://gist.github.com/halgari/c17f378718cbd2fd82324002133e... I don't think they're wrong that it's not a great way to work for the contributor and I can see why they'd want to write this gist in frustration. They're obviously being mostly fair to the people involved, but think that the process is just tedious and bad for contributors. So I think you're off base; you're not in fact talking about the same issue here and Hickey is addressing real contributors who are trying to improve the code.
- smashah 4y agoopen source is not just one thing. I think of it like a bunch of tribes loosely operating in amongst each other with some shared tenets (followed as necessary) and their internal own cultures. But that's the same as any organization. In normal business, you're meant to follow the main tenet of "maximize profit", "treat customers well". Businesses follow those tenets as they see fit. There's no reason for every open source project to be cookie cutter.
- smsm42 4y agoI dislike this kind of semantic bickering. Yes, technically "open source" once meant only the distribution model of source availability. A lot of time passed since, and now "open source" means something else - a certain social phenomenon with its community, rules, culture and mores. Lamenting that people have grown to expect this is pointless. Yes, some people can be over-entitled towards open source - and it's the right thing to push back against them and remind them they wants aren't the law of the universe. But it's also wrong that "open source" is just a licensing mechanism. It's a culture, and how people behave forms this culture. That doesn't create entitlement, but it creates certain expectations. No one is obliged to deliver on those expectations - especially if they are exaggerated - but I don't think it makes sense to deny they exist, and usually accounting for at least some of them leads to better results than ignoring them.
- gerdesj 4y ago[I assert that: ]"Open source is a licensing and delivery mechanism, period." That's nice but I think you are wrong. For me and the rest of the open source community, we quite like our sense of community. We may even become quite sarcastic should you continue to assert that we don't exist.
- darepublic 4y agoThere are open source authors who worked hard at, and have succeeded in popularizing their libraries. They create slick marketing style webpages for their docs, often to the detriment of it's actual usability, but certainly the eye-candy helps adoption. And they seem to spend more time in this endeavour, the popularization, of their lib, then making their docs more thorough and fixing the various issues that pop up with their lib. I have an issue with these open source authors. Because even if I personally disdain their work, and abstain from it in projects under my control, at every company I go to I either have to encounter it in use and deal with its flaws, or have to defend a codebase without it from someone joining the team and suggesting we use it. The open source authors obviously gain a benefit the more github stars their work acquire. So yeah... sorry I don't buy the 'they don't owe you nothin'. They worked and sweated to get their fucking code on my machine and then instead of fixing bugs they close issues flippantly, cherrypick examples of bad issues raised as if all issues raised were of similar calibre, and basically do a big dramatic 'le sigh' when actually confronted with the responsibility of fixing their fucking work. If this is how you feel don't beat on every door and bang the drums and say your lib is God's solution incarnate come to earth to silver bullet the problem. I should be seeking out your lib, your lib should not be seeking out my codebase.
- overgard 4y agoMaybe it's the point, but reading this, I would never even consider submitting a patch or a bugfix after that tantrum. Even though most of his points are true, that "leadership" style screams stay away.
- labrador 4y agoYou might change your tune after creating a large project like Clojure. The amount of bullshit communications Rich receives must be off the charts. As a group, I don't think programmers are the best at considering the feelings of others.
- eccentric_j 4y agoI was around in the Clojure reddit when Rich's gist was published. It was centered around a really, really specific scenario: A well-experienced community member had a strong following: wrote many libraries, articles, and even started contributing to core. Over time, they had more and more thoughts about how Clojure core should work and what the priorities should be. After some inciting incident, he used his reputation to start rallying his followers on social media against the maintainers and leadership to push for his way. That's what sparked that post as Rich felt it was unacceptable to rally people against the maintainers and leadership because you did not get your way in a PR or discussion. I can see where he's coming from as I wouldn't want open-source projects to be ran by the person who can drum up the biggest and meanest mob either. Personally, I wish it was handled with more tact on both sides but eh, no one is perfect.
- dqpb 4y ago> Far fewer than 1% of Clojure users are our consulting or product customers, and thus contributing to our livelihood. Ouch, he just said 99% of the community is worthless to him. Fame requires fans. If every non-paying user stopped using Closure tomorrow, that would be the beginning of the end for Closure, including the paying 1%.