I’ve found trying to contribute to FOSS to have all the stress of work with none of the pay.
I’ll jam with my friends, make a game in a weekend, but I have no interest in dealing with the egos of big FOSS projects.
However, I am seeing vibe coding create a new type of community. In the music space you have tons of people vibe coding new OSes for music hardware.
Akai has even promised to officially support custom firmware on the MPC Sample Keys! Custom firmware has existed for decades, but maybe a tiny handful of people could make it. Now just about everyone can!
I feel like there are infinitely many philosophies. From "I don't care" to "here is a list of 200 things your project must honour in order to be respectable" through "I just find this cool".
As a user, I like it when I own the devices I buy and can install and modify the software I want. That's not always the way it is, and that's life. I won't go to other projects and tell them that they must change something because I want them to.
If I publish my code under an open source license, you are free to take it and build any community around it you want.
If I keep my code proprietary, you are beholden to the shape of the community I dictate.
The license is first, it precedes, any notion about community.
Im really interested in seeing where the anti-ai crowd ends up in a few years.
Im sympathetic to the perspective in some ways but I think it's wildly impractical to actually try to keep AI out of software development.
I suppose an anti-ai optimist might hope for a future where AI written software proves too problematic over time and things return to their ideal vision of no AI in most software.
I really, really dont think that's in the range of possibilities. So what would be left?
- pockets of anti ai software
- these people slowly disappear or the window moves ("ai in software BUT ...")
- ai use is completely and thoroughly normalized
The longer I think about the impact of AI on software development, the more I see parallels between "pets" and "cattle" types of software projects. Or more aptly, fine china and disposable styrofoam plates. LLM-based development allows large-scale production of essentially disposable software. Which is fine for many business cases - software is a cost for them. Even with software as products, it makes sense to optimize production costs.
But open-source software is far more about the process than the product. And therefore longevity of resulting software can be expected to be far greater. Foundations of our software stack - libraries, source control operating systems, compilers, databases and numerous other pieces require people capable and willing to do a long-term care of the software - hence, the community that need to last decades. Linux and PostgreSQL is 35 years old, git is 21, OpenSSL 28.
I believe human-only software development will remain for the foreseeable future, despite the growth of LLM-based ones, just like mass-produced grocery bread didn't displace the artisanal bakeries.
As a fun exercise, read the comments in this thread as a justification for removing SWE jobs and getting rid of human development completely in favour of LLMs. As a bonus, imagine you're an executive and you are saving a truckload of money and headaches that come with dealing with people.
I recently got a "WatchPad": a smart watch "back", which you can stick on the back of a non-smart watch and it does HR, SpO2, step, sleep monitoring.
I didn't particularly want the ugly app, but it is implemented in GadgetBridge[1], which is on codeberg.
That's an Android app, but I wanted a MacOS version.
I LLM-reverse engineered the API based on the GadgetBridge work and now have a MacOS version, specific for my device. As part of that I worked out how to do temperature monitoring (which GadgetBridge doesn't support). Normally I'd contribute that back, but codeberg has been very explicit on their policy of no-LLM work, so I guess I won't do that.
So much for community.
I guess it's way too late to lodge this complaint, but using the word "community" to refer to things that aren't rooted in geographical areas has always struck me as odd.
Several points:
You need to build a thing first. Community doesn't matter if you don't have cool software. License doesn't matter if you don't have cool software. I'm seeing people forget this principle a lot recently.
The best thing you can do to promote free software is to make good free software. I was recently invited to sign a European digital sovereignty petition (which I am not eligible to sign). Know what helps much more with that? Making European digital sovereign systems. Instead of petitioning the government to switch MS Office to LibreOffice someone would have to actually put in the effort to find out why the government doesn't use LibreOffice, and fix that. (It's probably not because it doesn't run on their computers!)
You have to use copyleft licenses or else the software quickly becomes unfree, if it's actually worth anything. This doesn't happen to most non-copyleft free software because it's not worth very much, not because it doesn't happen.
A community of users doesn't have much value. Any forum or Discord guild or mailing list is secondary to the actual software and it actually being used. Plenty of successful software has no "community" - sudo, for example. Plenty of software with a "community" is not successful. Some software is successful and has a community, like Blender.
A community of developers is only valuable if they're doing valuable things. The Fediverse chat group that shared the link to the European digital sovereignty petition - no useful Fediverse software seems to be coming out of the people in that group. It's all about ivory-tower protocols that won't possibly work in the real world, and stuff like that. No actually working software.
We also have to stop over-estimating the worth of free software just because it's free. Good free software is good software which is also free software. No software is bad, bad software is also bad. Some random code you wrote and published somewhere on the internet usually isn't very useful, and that's probably why it doesn't have a community. Don't try to create a community first - that won't make the software any better. You have to make good software, that can spread by word of mouth, first and then you can have a community after that. Think about the number of random little programs on the internet, now think how many are installed on your computer - not a very big percentage, but the ones that you do have installed, many people have installed. Those are the useful ones.
In most projects the original creators remain the main developers no matter how many other contributors join. Late contributors having a significant effect on a project is the exception, not the rule, and when it happens it's actually an undesirable power inversion since the original creator retains unearned influence - see the PolyMC incident. There is no way to become the chief developer of a project other than having created it. If you think you can rewrite the whole thing and make it better, don't "join the community" - make a fork (which makes you part of the community, but that is not the main goal!).
If you're actually doing the majority of the work, offering a dual license is not unethical. We are forced to live in capitalism whether we like it or not, and we should be trying to squeeze money out of capitalist entities - lord knows they're good at squeezing money out of us. To not play that game is to lose by default. This isn't incompatible with being nice to people who are not money-squeezers, if you dual-license. A community fork can legally continue as AGPL-only. (You don't necessarily need a full CLA either, you just need people to agree their code will be in your commercial version. Programmers treat licenses and CLAs like satisfying the borrow checker, but that's not how they actually work.)
Some talented engineers I know just want to run an open source project with contributors and participation in technical discussions, yet also intentionally without the ""community"" part.
In enough cases, I'm sure many of us can think of some, some of the relatively recent "community" stuff has been counter-productive to an open source project, abused as an opportunity to enforce on clueless bystanders whatever fad orthodoxy of the day, or in the worst cases campaign viciously against specific demographics under the banner of doing the opposite.
Talented engineers who just want to do an open source project don't want any of that.
Separate from all that, I'm 100% with no Discord and no GitHub, both of those are total cancer.
i suppose i differ in the opinion that the most important thing about software are the users, and to the extent that AI can be used to create better software faster for them we should use it. i don't share the same moral qualms about AI, but even if i did i think there would be a strong argument that the benefits outweigh it.
developer communities can also be valuable but i think increasingly people are finding they can be quite toxic. the chillest communities i've found have actually been ones primarily made up of non-devs vibecoding. no egos, no endless arguments, holy war battles, or bikeshedding. they just build stuff and share. it's kind of nice acutally.
> Does the project have an inclusive code of conduct?
If you want a project to be community driven, adding an agreement that empowers its leaders to punish and exclude any community member for any reason, including reasons that have nothing to do with the project itself, is the opposite of that.
Codes of conduct result in dictator-driven projects, not community-driven projects.
I notice this with ruby right now, where claude took over development. But it is not confined to just ruby. AI slop eliminates human contributors. Why would I want to even try to interact with AI slop meta-designing software? If I go to another developer and ask "hey many, how did you add this great feature #123"? I'd get the reply "claude slop". Wowsers. Now tell me this is healthy to a community ...
I wonder how people work with omarchyslop (the linux distribution spam-slopped by DHH). Do they have any real community outside of paid fanboi accounts? If so, how do they interact? I feel that there is no real exchange of e. g. code since claude slop just autogenerates that. It must be strange for them.
[dead]
> The importance of communities around software
Unless you use AI.
Same people, same mute message; every time, with no delay. "Accept me, then I'll see if I want to accept you".
Fuck off.
If it is truly free it should use Apache 2.0
We’re in the tabs v spaces of this era. It will be forgotten. No one debates BSD v Linux. No one remembers SCO. Or whether silverlight will be ported. Or whether an app is available on Linux/Mac. Or whether drivers exist for their hardware. Or whether web standards are adhered to. Or whether you have to use a proprietary compiler.
Everyone thinks AI vs non-AI is a debate but just like all of those, it’ll be meaningless to the engineers of tomorrow.