10 ms·
Open source is useless if the majority of people in the open community -- for whatever reason -- can't build it. If a person can't build the thing, they effect
by heavenlyhash 11y ago
Open source is useless if the majority of people in the open community -- for whatever reason -- can't build it.
If a person can't build the thing, they effectively have no power to contribute to changing it. If they have no power to contribute to changing it, it's... spiritually, missing the most essential parts of open source.
This is the fundamental issue driving comments like the quote above.
You can tell me that not having a dependency management system, not having a sane version control system, using "some" C compiler (sans a matrix of tests specifying a range of expected good compilers), arbitrarily fine-grained platform specificness meaning an average OSS contributor can never reasonably test their changes against all targets..... all of these things can be "worked around". But at some point, the litany of issues -- some of which take a new contributor dozens of hours to work around -- becomes a simply overwhelming barrier to contribution.
It's time to admit that a foundation of workarounds in FOSS development processes at the very core of our systems is a problem.
Re-writing it in language $x may not be the solution, but it's certainly understandable that there's a widespread desire for simply getting better toolchains underneath our most basic essential systems.
- gkya 11y agoThis project does not really improve upon the situation, as it uses what it is to replace for building, and a very complex Makefile where there's no need for one. I've said nothing about dependency management as in fetching code that the project depends on. I'm talking about compilation dependencies, i.e. file a.o depends on a.c, a.h, b.c and b.h. Make is for this: a.o: a.c a.h b.c b.h cc -o ${.TARGET} ${.ALLSRC} But nowhere in the projects Makefile the rules are in this fashion. They are like shell aliases. What I wanted to say is that the Makefile could be replaced with a bunch of shell scripts that would be easier to use and maintain. For the rest, it seems that we mostly agree, tho I do not think that CVS is not sane, it's perfectly usable.
- mzs 11y agoOn line 4 ifneq appears which is a GNU make feature. .ALLSRC is a BSD feature. It's a fine GNU makefile. Also you should look at Cargo.toml to see better what is going on.