I am open-sourcing my project, “Sound as pure form”, aka “sapf”, which I first wrote in 2011.
It is a mostly functional, stack based, postfix syntax language, with pervasive auto-mapping of functions over lazy lists, in a similar way to how APL maps functions over arrays.
It is not a replacement for SuperCollider, but it is a delightful toy that has some nice properties.
It currently only runs on MacOS.
The README.txt file gives a brief description, set-up instructions, and syntax description.
There is a file of code examples for generating sounds, many which are translations of SuperCollider v2 examples.
There is not nearly enough documentation, but there is a one line help for each function.
I have other things to do for the next month or so, so I may not be able to give much support or review any pull requests during this time.
It uses AudioUnits for playback, but that should be easy to fix. I was going to use RtAudio instead. It also uses ExtAudioFile for audio file I/O. And it uses the Accelerate framework for FFT. And it uses some graphics APIs for creating spectrogram images.
excited to try! My first job in the early 80s was coding audio routines in FORTH for games on early Japanese personal machines (Sharp and Epson IIRC). FORTH was a joy…
The GPL doesn’t prevent commercial use - it merely prevents proprietary adaptations. Artists, researchers, and commercial studios can (and do) use SuperCollider extensively without limitation. The only restriction affects those who wish to incorporate and modify the actual source code into proprietary applications. There is NO BENEFIT IN THIS. And this license debate is highly misunderstood in this community.
SuperCollider was originally developed by James McCartney and released in 1996. In 2002, McCartney released it as free software under the GNU General Public License. It was a clever strategic move, otherwise Apple could potentially claim ownership of this software.
The fundamental distinction between GPL and more permissive licenses like LGPL lies in how they handle derivative works: GPL is a “strong copyleft” license that requires any derivative work to also be released under the GPL; while LGPL is a “weak copyleft” license that allows linking to the library from non-GPL software, including proprietary software.
LGPL would allow libscsynth (the audio server library) to be linked to proprietary software. This is, in fact, just rhetoric. Linking to libscsynth effectively means using scsynth, the SuperCollider synthesis engine.
So, in practice, this has nothing to do with GPL versus LGPL. Developers can accomplish what they need by simply communicating with scsynth. Under the current GPL license: Third-party applications can use SuperCollider by communicating with it as a separate process (without needing to be GPL); which is essentially what would happen under LGPL: applications could link directly to libscsynth without becoming GPL.
Is there genuine value in changing the license when the current architecture already enables proprietary software to use scsynth as a separate process? Switching to LGPL or Apache would primarily benefit those who want to directly embed and link against libscsynth rather than using it as a separate process.
The primary advantage of the GPL for SuperCollider is that it ensures the core technology remains free software. Unlike permissive licenses (Apache, MIT, LGPL), GPL has a “viral” nature that requires derivative works to also be open source.
Shared Innovation: When someone improves SuperCollider, those improvements must be shared back with the community, creating a continuous cycle of development and enhancement.
Long-term Sustainability: SuperCollider has been around since 1996, and after James McCartney released it as free software under the GNU General Public License in 2002, it has continued to thrive as a community project.
LGPL and EUPL require sharing modifications made to the core library itself. The key difference lies in how derivative works are handled:
GPL requires all software that incorporates the GPL code to also be GPL (the “viral” aspect)
LGPL and EUPL allow proprietary applications to link to or use the library without requiring the entire application to be open source.
The GPL-specific advantag was not clearly articulated in my post: its stronger guarantee that the entire ecosystem around the software remains Free Software. (In the case os SC, it is not o strong, since it can communicate as a separate process ANYWAY)
With LGPL/EUPL, only the library itself is guaranteed to remain FREE, while applications using it can be proprietary-source. Which has no " viral" effect.
Yes, I don’t think JMC point of view and motivation was never clearly articulated. The absence of a published statement specifically addressing his license choice suggests this may have been a practical decision rather than an ideological one.