8 ms·
This blog post indirectly touches on one of my most frequent (if potentially unfair) gripes with FOSS projects, which is how few of them have a culture of polis
by jwells89 3y ago
This blog post indirectly touches on one of my most frequent (if potentially unfair) gripes with FOSS projects, which is how few of them have a culture of polish and user-friendliness.
So many of these projects seem to try to do as many things as possible somewhat passably instead of doing a handful of things really really well, and this is often not only what pushes me to use proprietary products instead but also disinclines contribution, whether that be by way of code or donations. If I try to contribute code, project misalignment with personal values is going to make getting PRs/patches approved a constant battle, and on the cash side of things it's hard to justify spending on a project I may never find usable.
This means that the number of FOSS projects I contribute to is much smaller than I'd prefer it to be.
- coding123 3y agoFOSS doesn't have polish because the original devs plan on selling the polish
- micromacrofoot 3y agowhich OSS has done this?
- ipaddr 3y agoJetbrains
- matkoniecz 3y agoin some cases this may be true, is false as general claim
- qzw 3y agoWriting new features is fun. Polishing is boring and thankless, aka work. Most people will do fun things for free but want to be paid for work. Probably not going to change anytime soon.
- jjoonathan 3y agoWriting is fun, polishing is boring but ok, merge politics is like burning in the pits of hell. Same result.
- jahnu 3y agoSometimes getting a contribution into a FOSS project is more difficult than proving your application will halt.
- josephg 3y agoAnd for good reason. If you swoop in and add a feature I (as the maintainer) don’t care about, the maintenance burden for that code usually falls to me. I don’t want to spend my time maintaining someone else’s code for a feature I don’t care about. So yeah, I have higher standards for testing and code quality for 3rd party contributors than I have for my own code. I like PRs which fix bugs. But PRs which add features, without talking them through first? Ehhhhh
- jjoonathan 3y agoSure, but that's why I mentioned politics -- the particulars matter and there is plenty of ground for reasonable people to disagree. Judgement goes both ways. Maintainers are under no obligation to accept my code, but if enough maintainers stonewall enough of my code for reasons that I consider unreasonable enough then I'm under no obligation to write the code, either. That's where I've gotten to. It wasn't a short journey. Oh well.
- josephg 3y agoYeah. I think deep down opensource doesn't rest on the ability to make pull requests. It rests on the ability to fork. I think maybe people should do that more often. If you add the missing feature to a fork, nothing stops you from making use of that code directly. You aren't dependent on the author merging things upstream. You never were.
- opportune 3y agoI don’t mean to be snarky but you really just get what you pay for. A lot of FOSS is produced by people for fun, to solve a specific problem they have, or to learn/play around with some technical concept. Unsurprisingly, people don’t want to do the unfun things like deliver a UX that’s intuitive even for those who don’t work in the thing, or handle support, or play TL/EM/PM with randoms on GitHub.
- Gigachad 3y agoI feel like my optimism for FOSS software has slowly degraded to nothing. GIMP will literally never replace Photoshop and the gap between them is only growing. How can a product that's raking in millions of dollars a year ever be replaced by a few people working on it in their free time? When software was simple and if companies were just sitting still without continuing development, maybe. But most companies seem to be full steam ahead pumping everything in to research and development.
- kyawzazaw 3y agoPhotopea seems to work really well for a decent subset of what Photoshop does.
- drdg 3y agoNever heard of that one, so I was interested and checked it out. Turns out they do have a github repo but it plainly says: "Since Photopea is not fully open-source, this repository serves as a place for bug reports, feature requests, and general discussion." Looks like a nice product, but I would not consider it a FOSS alternative to GIMP.
- mkl 3y agoPhotopea is not open source. I think it's still made by just one person, but its ads bring in a lot of money.
- MaKey 3y agoThere are excellent projects like Blender which proves that high quality FOSS products can be done.
- ozim 3y agoDon't just go into blaming culture. Everyone should accept that is just super expensive to do good software. Money help, but it is also expensive in terms of focus and time. Having team of developers/business analysts/QA focused on one project is loads of money. Even for small team like 5 devs, 1 QA, 1BA - let's say every team member gets roughly $6k a month that is like $42000 a month. Now question is how many features/fixes can you do with that team? Well form experience you get maybe 8 big features, where big feature is like 2 weeks of work for a developer back and forth from QA and getting clarifications from BA, you have 5 devs but in reality there will be no 100% alignment and you still have bug fixes, busy work etc. So $42000 divided by 8 gives that any feature costs around $5250 to build initially and still might be having bugs and need for adjustments. But you have at any point in time at least 3 people looking at the feature and making it work/finished. Now we can talk about culture where companies throw $5k at a feature on a whim, burn everyone's time with useless meetings on VC fueled life support compared to FOSS where budget for a feature is more like $1k of whatever spare time some dude somewhere has and he is "making the feature up, coding it and testing" in most projects on his own.
- a1o 3y ago> making the feature up This is super hard, often someone will write a mindless issue with a feature request without thinking about it profoundly. Than the dev has to sift through the text to understand what is the underlying problem the user is facing, if the proposed solution is actually a good solution to that problem (it often isn't), what is a solution considering long term maintenability, if the feature has synergy with future features or if it solves or is close to solve other already existing issue so the solution scope should be adjusted. The design stage is huge and it's hard to do alone and also hard when other contributors only raise edge cases to try to break a proposed design without validating if the problem the developer extracted is adequate. The scoping and design is often very time consuming and hard to get it right. Usually you end up designing to the scope of available time to solve the issue at hand - time being a rainy Sunday afternoon, or around three and half hours.
- bombcar 3y agoWhich is why you can be entirely helpful in an open source project even without knowing how to code. If you can learn the general program, and interface with the users as a liaison between the developers and the bug tracker, it can be quite valuable.
- poisonborz 3y agoThe way FOSS works engraves feature abundance - every contributor has some feature wish that they will add - most of them jumps on the project for that very feature. Both contributors and target audience values features and configurability, and "unpolished" parts (mostly meaning you need to click 2 submenus more, you need some config to be set or script it yourself) are not a problem. This is the very antithesis of a for-profit company being laser focused on some customer group and wanting to be cost efficient with resources.
- jwells89 3y agoLack of polish also extends to some of the things like the TFA mentions, like incomplete SVG export functionality. Either way, I don't believe that polish and FOSS feature abundance necessarily have to be at odds; it just means that the project in question needs to have a process for developing new features to production-readiness. This can take form in any number of ways, for example using feature flags to keep things that aren't yet fully baked enabled only in beta/alpha builds — people happy with a less polished experience can use betas until the feature they need is ready for primetime while the greater userbase gets a better user experience.
- opportune 3y agoKind of agree, kind of don’t. A lot of companies also bolt on as many features and integrations to their products as they need, to close sales or just because they think it will help expand their potential customer base. A lot of FOSS is maintained by people who don’t want to spend their free time shepherding some code they wrote turning into everything-software either. There is a particular failure mode in FOSS though - normally in businesses, prioritizing new features is done on the basis of how it will ultimately affect revenue (or reduce costs, simplify things, reduce maintenance burden - still money at the end of the day). For those FOSS projects that are open to new features from randoms, those individuals are mostly adding features they individually want, and the amount of investment in those features is limited mostly by their level of personal interest. So you end up with a set of features that is more stochastically chosen, and some unimportant or minor features may have a huge amount of complexity/configurability/feature-specific code because one person needed it.
- fhub 3y agoDon't underestimate how much headcount is pouring over an array of analytics tools and split testing tools to optimize a commercial product compared to FOSS. For every dark pattern change that is made in a commercial product, perhaps 100 actual improvements/polish changes are made to workflows.
- TeMPOraL 3y agoThough imagine how much more features and improvements that commercial product would have, if most or all of that headcount pouring over analytics were retasked to design, development, and actually talking to the users (or $deity forbid, shadowing some users to see how they use the software). Other than being more careful due to software being sold on physical media, I wonder if that wasn't the lost secret source of software in pre-webapp times.
- fhub 3y agoThose teams also usually exist. But usually different skill sets.
- micromacrofoot 3y agoPolishing is expensive, and while you're doing it you're falling further behind on feature parity. The fact is that OSS simply can not compete with multi-billion dollar companies with enormous staffs that give away their server time for $0. There aren't enough human hours to go around. Figma has ~1000 employees last I checked, and Adobe has nearly 30k. Orders of magnitude larger than most OSS projects. So a lot of the time in OSS you end up choosing the work that keeps people interested (because often you don't have the money to do so). Developers want to build new features, and designers have next to no interest doing free work for OSS.
- renewiltord 3y agoUltimately, you have to have agency. The world is made by people who make so if you want something there's only one way to guarantee it: make it yourself. If you don't want to make it, maybe you're lucky enough that there's a market and you can buy it. But that's the deal with much of this stuff is that there's no polish because the builder didn't need it. But that's not universal. I think many of BurntSushi's products have great polish and a good dev experience.
- dandelany 3y agoUnsurprisingly, the first 90% is a lot more fun than the "second 90%" (polishing)...
- paxys 3y agoIt's not really about culture. Everyone – OSS or not – wants to write good software. The problem is that the "polish" you mention is what takes up the vast majority of development effort and costs, and FOSS projects just aren't that well funded. Hiring teams of designers, copywriters, user researchers and HCI experts, staffing up customer support teams in different timezones, having dedicated QA for every minor change, overprovisioning servers so the app can scale...none of these come free or easy.
- TheOtherHobbes 3y agoIt's the last 90% of the work that takes 400% of the time.
- d3w4s9 3y ago...meanwhile, more than a few people on HN think all software should be FOSS and proprietary software is evil.
- TeddyDD 3y agoIt should, just well funded, like Blender.
- anon291 3y ago> my most frequent (if potentially unfair) gripes with FOSS projects, The difference is that you should not have any gripes with FOSS projects because they don't charge you anything, make no guarantees, and don't expect anything from you in return. In other words, your thoughts are irrelevant. If you want something that works, pay for it. If you want to play around and sometimes get stuff done, use FOSS. There's the exception for FOSS supported by big businesses, but this is not what people talk about when they talk about FOSS.
- thiht 3y ago> If you want something that works, pay for it. That’s literally what they’re doing, with proprietary software.
- ipaddr 3y agoHe can invest time/work or money. If enough people are willing to pay someone will offer it and he can pay. If not he has to write it himself.
- jwells89 3y agoAssuming such contributions are accepted in the first place, which is far from a given. It's not unusual for "polish" sorts of contributions to be refused by project maintainers for various reasons. It doesn't matter how much code I write or how much money I donate if the project has decided it doesn't care about the same things I do. Of course I can technically always fork or start my own project, but that increases expenses by an order of magnitude, which I might not be able to afford.
- PhasmaFelis 3y agoI can't tell if this is meant to be defending FOSS or condemning it.
- anon291 3y agoIt's not meant to be doing anything. I have no vested interest in others hobby projects. If they want to polish it... great. If they don't... great. No one is entitled to anyone else's labor. This is not an argument in favor or against; it's a simple ethical claim on ownership and labor. If someone gives you something for free, you should be grateful, but would otherwise need to decide on your own whether or not you need to use it. FOSS is like those canvas bags they hand out at conventions or at Costco. It's nice they're free, and the ownership model is straightforwards. Sometimes they're nice, sometimes they're not, and sometimes I need them and sometimes I don't. I'm grateful to those who give it to me, but if I don't need them I kindly hand it back. If I do need it, I use it. And sometimes, if it's not working out, I buy a real bag.
- dylan604 3y ago$FOSS_Project description: reproduces a couple of features of well known applicationX vs $FOSS_Project description: reproduces functionality of applicationX how many people will be attracted to the first option vs the second?
- jwells89 3y agoDoes it matter when the latter of those two turns off and loses the additional users it gained from the more enticing description because it’s half-baked and unpleasant to use? Intuitively I’d think the former has better long term prospects, because it’ll have word of mouth (people love talking about things that make them happy) eventually make up for the reduced initial interest.
- dylan604 3y agomaybe a lack of clarity in my example. i'm not saying the same project with 2 different descriptions. if one project wants to be specialized in a small set of features while the other project is being a much more well rounded set of features to directly compete with an existing well known program, i'm proposing that the full program will garner more attention. most people want a complete package. the masses don't think in unix-esque terms with small specialized tools strung together. they want to go to wechat/facebook/etc where everything is in one place.
- palata 3y agoFirst, I would like to suggest that you take a step back and think about how many non-FOSS projects are complete failures even though a ton of money was thrown into them. So yeah... there are good, average and bad FOSS projects just like there are good, average and bad proprietary projects. Then, you have identified some characteristics of FOSS projects: some do tons of things somewhat passably (that's typically the case when the maintainers try to accommodate the contributors), some don't do much and don't get many contributions, some don't do much and just refuse contributions that the maintainers don't care about, etc. But you have to understand that maintainers don't all have the same goals. I don't know if you have ever been a maintainer, but users can be real jerks. Almost blackmailing the maintainers ("if you don't implement this feature I won't use your software for free"), sometimes even being aggressive ("this project sucks, I spent 2 days trying to understand how to do that, if I had a choice I would use something else but I don't want to pay"). Almost nobody says "I will pay you to implement this feature properly and I don't expect you to maintain it for free forever". It's hard to be a maintainer, and if you manage to do a good job and went for a permissive license, chances are that people (companies) will just use it without contributing anything back (not even honoring the attribution clause, because 99.999% of people don't understand that permissive licenses require attribution). IMO companies would have to contribute much more if everything was copyleft (at least MPLv2).
- eddiewithzato 3y agoI don’t think a FOSS user facing product can actually work well. The ones that I found that worked very well (aesprite) actually just seemed to be founded by a single team that barely had any outside contributions. Basically they could’ve gone proprietary. And I think it has to do with the nature of humans actually. Those in a company or team feel part of the tribe and are more than likely to feel good when they contribute. While a random person looking to contribute into some FOSS project would see it as some mountain.
- Grimburger 3y agoDevs do free work for the world and hand it out as FOSS. UX people feel no compulsion to do the same so that's why we have the current state of things. These are two separate skillsets that often don't overlap, you won't find many UX people contributing to open source projects.
- johnnyanmac 3y agowonder why dev culture is so vastly difference from other sectors in that regard. I guess it's because tech is arguably useless as-is except to other experts. And even an expert may struggle whipping up a competitor from scratch (i.e. not copying the code unless allowed). Whereas even the layman can see "good" art and "good" UX. But it's also not universally true. the acedemia sector of tech doesn't really open source stuff in the same regard. They may have some readable source, but you generally can't use it commercially without consulting the owners. I guess patents change a lot of how you work.
- Roark66 3y agoIn my experience It depends on the kind of software you're talking about. If you mean especially GUI-heavy apps like Office/Libre Office Gimp/Photoshop FreeCAD/AnyCommercialCAD KiCAD/Altium yes your criticisms are valid. Mostly for the reasons others have said already. However, consider other types of software with minimal gui for example Apache-Nginx/IIS, VisualBasic/Python, command line tools like awk, sed, shells like bash vs cmd. Lots of stuff. It is a fact of life an Open Source model works better when no GUI is involved. Why? Because many people including myself find it mind numbingly boring and difficult at the same time to come up with a good, usable gui. I bet there are at least 3 startups in the dark somewhere in the world working about AI generated UIs right now. If they succeeded that might be the thing OS software needs to be better.
- jwells89 3y agoIt’s a bit tangential, but I find that how much I enjoy designing UIs depends a lot on the UI toolkit I’m using. With many, it’s as boring as you say, but there are a handful which have a large repertoire of capable, flexible widgets and designer program that makes the process something of a joy. AppKit on macOS is like this. Qt Widgets has a lot of the right ingredients but somehow misses the mark.