You don't use open source software because it's better (it usually isn't).

You don't use open source software because it's freer (it only sometimes is).

You don't use open source software because it's got better politics (it isn't always).

You use open source software because *it is the only option*. In the long run, if it isn't open source, it doesn't exist.

image source: keithstack.com

As someone who was a true devotee of FutureWave SmartSketch (which became FutureSplash Animator, which became Macromedia Shockwave Flash, which became Adobe Flash, which became Adobe Animator) my sorrow is incalculable. Every day I long for software I had in the 90s which I can't find anything as good as today.
@mcc If you use open source software that isn't particularly popular, it might cease to exist as well. I used a "soundtracer" (a kind of synthesizer that you script in a language similar to that being used for POVray scenes) called "sapphire" over a decade ago, and then it suddenly vanished. I can't even find the source anymore, and the last time I downloaded the source a couple of years ago, I couldn't compile it because all the dependencies were outdated.
@LordCaramac @mcc Yeah, but at least then it would only take a sufficiently skilled group of people to make it work again, without _also_ needing to pay off greedy IP owners who'd rather see it rot.
@RogerBW @mcc The source might still exist somewhere.
@RogerBW @mcc Nope, all I can find are links to the original website that doesn't exist anymore. https://web.archive.org/web/20050901030734/http://www.pale.org/sapphire/
Sapphire

@LordCaramac @RogerBW @mcc The website has an (archived) link to the tarball with the source code: https://web.archive.org/web/20050901030734/http://www.pale.org/sapphire/sapphire_19.tgz (If the downloaded file ends in .txt for you as well just remove/change that extension to .tgz)
Wayback Machine

@Lenni @RogerBW @mcc Already ahead of you, looking at the content right now. I'm a horrible dilettante of a coder though, I don't think I can fix it.

@LordCaramac @Lenni @RogerBW @mcc I got the source to compile on my 64-bit Debian Trixie with gcc 14 with some minor tweaking: https://codeberg.org/indigoparadox/sapphire

It seems to run enough to get a REPL going, but I haven't played with it yet. There's some gnarly pointer/int math going on so who knows how it'll fare in 64-bit land? 😌

sapphire

The sapphire accoustic compiler: https://web.archive.org/web/20050901030734/http://www.pale.org/sapphire/

Codeberg.org
@indigoparadox @mcc @LordCaramac @Lenni @RogerBW You can compile 32bit if you insist. Many distributions still support it, at least on x86.

Also the way to do the global variable is you put an extern declaration in the header, and non-extern declaration in one C file.
​​
@bunny @mcc @LordCaramac @Lenni @RogerBW On the first pass, I wanted to modify the original source as little as possible.
@indigoparadox @bunny @mcc @LordCaramac @Lenni @RogerBW
lexyy.c and sapphire in /src can be removed too.
Tested on linuxmint 22.3

It compiled into a working binary. Looks good so far. Thanks!

@RadND @indigoparadox @bunny @mcc @Lenni @RogerBW