-
Notifications
You must be signed in to change notification settings - Fork 240
Description
Jamulus started as a fun project several years ago to enable online band rehearsals for small groups of musicians. Since the pandemic the focus of this project has changed. We now have a lot more active users/servers and new requrements like supporting large ensambles/choirs or stream jam sessions (Worldjam). Also a lot of developers have contributed source code or added support for translation. So the project changed to a community project.
Right now I am the only one has write access to the official Git repo. As we now have an increasing number of pull requests and feature requests, the project management and source code integration starts to require too much time for me. So it makes sense to get other developers on board. I started with adding Peter (pljones) who has supported the Jamulus project for a long time.
If a project has more than just one project manager, it makes sense to define guidelines/rules for the project which I want to do in this issue. Here is how I have managed the Jamulus project so far:
-
STABILITY!!!
This is by far the most important requirement for the Jamulus software. Much much more importanat than any new feature. Nothing is more frustrating than running a headless Jamulus server and from time to time it just crashes/disappears from the server list. It is particularily important for usecases like the Worldjam. Imagine the server or one client would crash during a live jam. That is the reason I am very caucious with changes to the core components of Jamulus. -
I prefer the Keep it Simple and Stupid and Do One Thing and Do It Well principles.
If a software has too many features, it is hard to keep everything consistent and the tests for stability and correct functionality takes a lot of time. So too many features increase the maintainence work and also risk the stability. Therefore for some functionality like "finding musicians/social functions" I prefer that this is managed by external tools like a website. -
Focus on what is the strenght of the Jamulus software and improve that.
There are many other solutions for realtime online jamming available. But it seems Jamulus with its client/server system and minimalistic GUI is kind of unique. -
Source code consistency.
I very much try to keep the source code "way of coding" and "code style" consistent. That makes understanding and maintaining the code much easier. -
Jamulus is free
Jamulus is Open Source and the usage shall be free for everyone. The barriers to use Jamulus should be as low as possible to give everyone the chance to try it out and have fun. The server lists and the registered servers are intended for everyone to find a place to jam together, find new friends, have fun and maybe create a band or even a community. It is not desired to add any password protection to Jamulus.