![](/static/790fef6/assets/icons/icon-96x96.png)
![](https://lemm.ee/api/v3/image_proxy?url=https%3A%2F%2Fbeehaw.org%2Fpictrs%2Fimage%2F1be75b15-2f18-429d-acf7-dcea8e512a4b.png)
I think your comments about GPL vs. BSD are a bit misleading. BSD is great, by the way- I’m very glad the various free/open BSDs exist, and they can be good choices for different applications. But Linux is significantly more successful as just a kernel, and GNU is significantly more successful as a collection of libraries and utilities, and GNU/Linux is more successful as an operating system than any of the BSDs. The fact that it was put together as a collection of components written by various people was arguably one of the primary purposes of the project, so I don’t really see how that’s a mark against it.
It also may be worth noting that BSD is not simply Unix-like, it is Unix. Your line of reasoning might end up compelling you to claim that only proprietary software engineering has lead to the development of a complete operating system.
And finally, slightly tongue-in-cheek (but not really)- there is a GNU-specific way to distribute and install software (GNU Guix), I use it, great package manager + OS, and you can run a complete GNU operating system (various Hurd OSes exist, but for full GNU, you can run Guix System with the Hurd). I don’t think that’s particularly important tbh (again, distributed contribution is one of the main goals of GNU and Linux), but fwiw, I think you’re also technically incorrect on this point.
I love that there are multiple different free and open source licenses, and creators can choose which ones suit their needs, no argument there!
You don’t need to make your own module, you really just need a package definition. This packaging tutorial is a bit old but should still be helpful.
An easier method might be to clone the Guix git repo, edit the package definition in
education.scm
, and use pre-inst-env to install your newer version.But if you’re going to to that, you might as well just submit a patch so others can benefit from the new package. If it’s just a version bump, it might be as simple as bumping the version number in the definition!