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.)
[–] soundworlds 9 hours ago
[–] immibis2 6 hours ago