Corrados is leaving the Jamulus project #928
Replies: 7 comments 6 replies
-
That's a bit of a surprise for me. Could you please summarise why? |
Beta Was this translation helpful? Give feedback.
-
That's a pitty. You did a great job and Jamulus is a life saver in Covid19 times. Thanks for all your work. Me and probably all the others are really sad to see you go, but probably it's the right descision for you now. I personally hope that the project continues to live and develop further with the new structure. Edit: I hope you're not gone forever |
Beta Was this translation helpful? Give feedback.
-
Please don't leave before the next release. I also hope that your replacement keeps Jamulus simple. |
Beta Was this translation helpful? Give feedback.
-
FYI: I just added the section "Just some final notes on the Jamulus project" in my initial post. |
Beta Was this translation helpful? Give feedback.
-
@corrados Jamulus is a great personal accomplishment. Thank you for this gift to music. |
Beta Was this translation helpful? Give feedback.
-
@corrados, good decision. Having a Jamulus "detox" will also help you to get a clear mind and perspective ... which will certainly help when you decide to get involved again. And thanks for bringing Jamulus where it is now, and for all the work you have put into this so far!! It has been making a huge difference to many. For instance, I have helped the local music school a little to get their cluster of Jamulus instances up and running, and thanks to the software they could switch to remote music lessons during the pandemic. |
Beta Was this translation helpful? Give feedback.
-
Dear @corrados, this is really sad to hear, but totally understandable. Jamulus seems to have gotten lots of traction in the recent months and handling all this is obviously a huge effort. Thank you very much for creating and curating Jamulus. Thank you for putting all the work into this project. And thank you for caring about a proper turnover to new maintainers. Jamulus has made a huge different to multiple ensembles and choirs in my city alone. I bet Jamulus has brought joy to thousands of people and has helped keeping existing ensembles, bands and choirs together during the pandemic. This is something to be really proud of! I wish you all the best and would love to see you return once you feel like it. Kind regards, |
Beta Was this translation helpful? Give feedback.
-
Some of you might have already read it in the Facebook group: I'll leave the Jamulus project. Here is the message I posted on Facebook today:
"At the beginning of 2020, I was very wrong with my assumption that the influence of the pandemic on the Jamulus project will only last about half a year. It is now almost a year ago and during that time I worked on Jamulus software development and project lead almost like a full time job. I am now totally exhausted and need to make a hard cut. I am sure some of you will regret my decision but, unfortunately, there is no alternative for me right now. Believe me, it was a tough decision. I will stop Jamulus project lead, development and support now and hand over the project lead to the other main developers. I am sure they will do a great job and you will get a lot of new features in the Jamulus software soon. I want to say thank you to all of you who have written kind words of thanks to me for the creation of the Jamulus software."
We are in the process of replacing my fischvolk.de URL by jamulus.io, see: #919. I'll keep the forwards at fischvolk.de alive for a long time so there should be no concerns about backward compatibility (i.e. old Jamulus clients still use fischvolk.de).
I am also operating the Any Genres 1 (Default), Any Genres 2 (All Genres) and Any Genres 3 Central servers. These are hosted at a virtual server at the German 1Fire provider. I intend to keep these alive for a long time (similar to fischvolk.de). So, again, no worries about these for now. But for a long term solution it would be good if somebody else could take over these Central servers. If that happens, the forwards at fischvolk.de and jamulus.io must be adjusted.
In the past, I was the only one merging pull requests. The new idea of managing pull requests is given in #915, i.e., at least two main developers review the pull request and then it can be merged by any of the main developers.
Please also take care of the correct documentation (item 7 in #915) because in the past I was the only one doing this.
Edit: Added the following additional text: -----------------------------------------------------------
Just some final notes on the Jamulus project:
If I would start the project again, what would I make differently?
I would use more existing, well tested libraries. E.g. I spent so much time implementing different audio interfaces. It would have been so much easier to use portaudio from the beginning. But my concern was that if you want to get the lowest possible audio latency, you have to implement everything on a very low level. But I think this is actually not true. I think portaudio can also get the lowest possible latencies (I guess soon you can test this out, since a first implementation of integrating the portaudio libray has been worked on). Also, I would not implement my own protocol stack. That wasted a lot of time and made problems with UDP fragmentation, etc. But in the initial days of Jamulus I tried to have only one communication channel with minimal protocol overhead. In my opinion at that time, every additional protocol network packet might cause audio drop outs. Assuming sufficient network bandwidth, it has shown that this is not the case.
Jamulus was designed specifically for small internet network bandwidths. Of course, after 15 years the situation has changed and the average available internet speed is much higher now. But still, I have rented a virtual server with an allowed network traffic of 1 or 2 TB per month. With the current Jamulus server load, if Jamulus would not use audio compression, it would definitely require more bandwidth than this. But maybe it makes sense to introduce a "Super High Quality" audio mode where the number of coded bytes for the OPUS codec could be increased so that you hardly hear any audio artefacts. I'll leave that decision to the remaining main developers. But as a result it could happen that my Central server may perform extremly bad at the end of a month since the traffic will be significantly reduced after exceeding the allowed network traffic...
What do I think is important for future Jamulus evolvement?
It is always a trade-off between making significant changes to the core processing code of Jamulus and stability. In the past I was very cautious about changes in that area. I have never heard of a client or server crashing during the Worldjam and during my 10 years of weekly rehearsal, I also had no crash at all. So, my way of doing it worked for me for a long time. But there are other strategies possible now. You could publish beta versions for testing in an early state to find out stability issues. I could not do this because there were almost no Jamulus users before the pandemic. Also, it would be possible to support some automated stability testing, e.g., even integrated as a Github Action. So, there is plenty of room for improvement here.
One important thing for me was backward compatibility. I spent quite some time into it. I think this will be a critical thing in the near future for Jamulus. There is a big community and there are a lot of Jamulus servers available. If you make an incompatible change, you risk all of this. This topic is especially important since Jamulus will be part of Debian and they will use the same version for years. If you change things like introducing TCP or using good libraries for the protocol messages, you should make sure that the old mechanism still works.
The Jamulus project was a one man show for a long time. In the last year we had a lot of contributors but I was basically still defining the rules and I was integrating the code. Sometimes I had to spend a similar amount of time as the contributor of the code to fix all issues and functionality and make the code consistent. Since I am not available anymore, the type of decision making and way of integrating code must be redefined. I hope that you will soon find a good way of sorting out these things.
Ok, so, now it is on you, the main developer team, to define the new "Jamulus way"...
Beta Was this translation helpful? Give feedback.
All reactions