now from fossil
drew devault decided to cancel richard stallman, my repositories now living on as self hosted fossil and how this isn't paradox given the licenses involved
so, in a recent blog post drew devault decided to re-iterate the exact same bullshit we saw some years earlier with the "open letter" calling for stallmans removal:
Reform the leadership. It’s time for Richard Stallman to go. His polemeic rhetoric rivals even my own, and the demographics he represents – to the exclusion of all others – is becoming a minority within the free software movement. We need more leaders of color, women, LGBTQ representation, and others besides. The present leadership, particularly from RMS, creates an exclusionary environment in a place where inclusion and representation are important for the success of the movement.
it's trying to paint RMS as evil: it's time for him "to go". this is what you say about unwelcome guests and dictators, and it's exactly the image drew tries to invoke using these words. it's the same as usual, hatred veiled as care for others and as "the right thing" to do.
it's the classic hacker ethic to look at the things people do, not who they are by chance. RMS might hold some controversial - mind that nearly everything is controversial now - opinions, but seems happy to discuss them and change his mind if he is convinced. he might be odd in his social behavior. most of all, he is using using the abilities he got to the best he can. he build a foundation and created a movement, based on his idea of protecting software freedom.
if the leadership is "reformed" like the "reforms" of the french revolution, why should i still feel represented by whoever might replace RMS? anyone filling that position would just be an usurper. clearly an usurper is not who i want to be represented by. you can't try to rob someone of his lifes achievement and the very thing he built from ground up and expect people to be fine with that. everyone knows they might be next.
FSF is something everyone is free to associate or disassociate with. it's not a country with armed border guards preventing you from leaving. don't like what FSF does? don't like that RMS is still part of it? start your own organization. drew devault even has his own organization. why not put some of that big consulting business money to good use and hire lawyers to write a license if the world is in dire need of yet another license?
furthermore, to "prove" that the FSF is dying, drew wrote the following:
And hip new software isn’t using copyleft: over 1 million npm packages use a permissive license while fewer than 20,000 use the GPL; cargo sports a half-million permissive packages and another 20,000 or so GPL’d.
"a million npm packages", where likely 99.99% are one-liners. i'd license that with some permissive license too, just because i have to in germany to allow others to use it at all. the same goes for the cargo packages.
success of an idea measured in packages published.
it's beside the point anyway. if people want their code being taken by some big corporation, relabeled and sold: i don't care. people can very well decide on their own, it's "free as in freedom" for a reason. they don't need "leaders" or "organizations" for this. if anything, the recent obsession by parts of society to treat people like idiots who need assisted living or alternatively disciplinary action unsettles me.
clearly, i don't want to give any more money to the company of someone as morally handicapped as drew. which leaves me with where and how to host my own projects now. i'm not in the mood to put my stuff in the hands of another platform. i don't like gitlab and gitea, the UI is as cluttery as githubs. in theory one could self-host sourcehut. only that it's written in python which is hell to deploy, and is written in a "micro"-service way which is yet another hell to deploy. just read the mailing list.
luckily i started to play around with fossil a while back. it's the antithesis to most other vcs: the tool is a single binary and repositories are a single sqlite database. it ships with a web ui and a server mode, out of the box. it's perfect for self-hosting.
licensing and moral steadfastness
using fossil to defend RMS leaves me with the paradoxical situation that my software is hosted using a BSD licensed software. is this right? am i the hypocrite in this?
in an interview, d. richard hipp states the following:
Everything that I am is by Grace alone. The longer I live and the more I see, the more obvious this fact becomes. There have been many times in the past (and, no doubt, there will be more occasions in the future) where I have looked upon “my” accomplishments with pride, thinking that “I” have done well. Such thinking is utter foolishness. I would be less than nothing but for the unmerited favour of God.
i might not share his faith, but i very well do respect it and admire his steadfastness in it. if he believes public domain is the right way to achieve helping others and making the world a better place, then it's fine. d. richard hipp has a set of principles and lives by them. this is the sqlite license:
The author disclaims copyright to this source code. In place of a legal notice, here is a blessing: * May you do good and not evil. * May you find forgiveness for yourself and forgive others. * May you share freely, never taking more than you give.
to me this reads like the opposite of denouncing RMS based on false accusations which have been disproven time and time again.
one kind of man tries to be good by building a better world, without infringing on the rights and lives of other people as he knows he himself is fallible. the other kind wants to beat others into submission and steal their lives work if possible, convinced he is in the right, fighting for good. i'm sure that i not always belong to the first group, but i at least try to be better every day.
the technical side
converting git to fossil
i'm still experimenting with things but technically things are quite pleasant. as per the fossil wiki, exporting git repositories is easy:
git fast-export --all > ../myrepo.export
sometimes you might need to throw in some other switches. importing into fossil is easy as well:
fossil import --git myrepo.fossil myrepo.export
while you are at it, you might want to set the project name as well:
fossil sqlite -R "myrepo.fossil" "insert or replace into config values ('project-name', 'myrepo', now());"
if you have more than one fossil repository, you can sync logins across them by joining them together into a login-group:
fossil login-group -R a.fossil join b.fossil -name logingroupname
with "a.fossil" being the repository that is to be added to the login group named "logingroupname" (or however you call it) of which "b.fossil" is already a member. mind that you need to add the users to the repositories first, only existing users seem to be managed by login groups.
i still have to convert the few CI scripts i had. possibly using fossil hooks, which i still have to look into.