#I❤️Github #PermissiveLicense #TeamMIT
So today… having had `libsstvenc` work quite acceptably… I started to think about how I might integrate it into `websstv` which is in Python.
`ctypes` is brilliant… Okay, some limitations with regard to handling inline functions (it can't… because they're not in the .so file), but it's a very quick way to call into C code.
https://github.com/sjlongland/websstv/blob/master/websstv/libsstvenc.py
Now… when I last tried piping audio from a Python application, I found I wasn't able to deliver the audio fast enough to the subprocess (`aplay` / `sox` / `pwcat`).
I'm beginning to think the answer is to implement some bindings into an audio library.
Some options:
- http://libsound.io/ -- plain C, appears to be asynchronous and single-threaded, supports ALSA but seemingly not sndiod
- https://miniaud.io/ -- C, supports lots of backends, uses threads, supports sndiod and ALSA
- https://www.portaudio.com/ -- well known (Audacity uses it), well supported, uses threads, supports sndiod and ALSA
Of course dynamically-linking to LGPL libs is fine, so I can use `alsa-lib`… but I want to support more than just ALSA.
The other possibility is I dual-license `libsstvenc`: `libsstvenc.so` is the base MIT-licensed SSTV encoder, and then there's a `libsstvenc-gpl.so` which provides all the GPL-licensed integration into audio libraries. If you link against `libsstvenc.so` only, you're using it under a MIT license … if you link against `libsstvenc-gpl.so` too, then you've accepted the GPL.
#SSTV #AmateurRadio #Python #ctypes #HomeBrew #OpenSource #PermissiveLicense
@marcan @fuchsiii Either way, like @landley I did the #copyleft experiment and those projects didn't see even remotely as much resonance or contribution as when I embraced #0BSD as a #PermissiveLicense (cuz #PublicDomain legally doesn't exist in #Germany: One cannot renounce #Authorship for legal reasons, otherwise #HateSpeech would be unprosecute-able, so only #Copyright lapses 70 years post-mortem of the Authors)...
TBH, the only way to preven #GAFAMs like Amazon from leeching #FLOSS is to either make #CCSS or offer the superior [#SaaS] solution by ticking boxes #aws can't ( i.e. due to #CloudAct, like #GDPR compliance) or inherently won't hecause it's antithetical to their business ( i.e. [airgapped] #SelfHosting & Support/Management Options for self-hosted systems)...
@Elucidating Personally, that's not the point either...
To me #SSPL is just an #AssholeLicense because it's not a proper #SourceAvailable like #Tarsnap where it's like: "See, no #backdoors in here - you are in control!" which is at least honest, but rather was introduced in a #backstab move...
Because if I were #Amazon or any of the #GAFAMs I'd just #fork the last #BSD-licensed version and pay someone to maintain that thing instead of ever contributing code to the original ever...
Cuz that's just how #OpenSource works...
#Redis basically loaded themselves a Glock 18, set it on full auto, aimed at their own feet and will soon complain that they're bleeding all over the floor in a metaphorical sense...
I mean, we know that's exactly what's going to happen, because everyone I know who uses Redis anywhere is going to get angry at that shit because they're not legally able to comply with the SSPL for numerous reasons I can't even talk about and will now scramble to find a drop-in replacement under new maintainers who keep code under a * #PermissiveLicense * without any strings attached...
Pretty shure almost all #ActivityPub software is going through this now...
I'm surprised noone has realized this yet ...
https://github.com/mastodon/mastodon/issues/28514