More transparent project goals outside of Discord #7642
Replies: 14 comments 52 replies
-
I can agree to the point you mentioned here, as we do still discuss about development on discord. I have created a thread on discord for 1.3 development, which honestly should be here. Regarding the "Project Manager", most of the candidates come online at random times, then there's people like me, who are online almost every single time but not qualified enough to step into that role. Maybe I'll try chunking some key points and post them right here, in the next message or a seperate discussion. |
Beta Was this translation helpful? Give feedback.
-
So the general movement seems to be like this: 1.3 developmentI'm ready to do the work towards making a release, but there seems to be some critical performance regressions related to the threading mechanism (hopefully #7568 fixes it) and the horrible vst performance, which @DomClark has taken up on but it's left on hold because of his tight schedule. not adequate testingWe have a lack of devs, yes. But more than that, we have a lack of testers. I could test, if I wasn't on my phone 24/7 and on PC. But college stuff already kills the little focus I have. Lack of coordinationEven with discord, coordination is sparse. Different people move in different directions. But can't really complain about that because it's the nature of community driven FOSS projects. The point regarding a lack of a project manager might be in effect here. |
Beta Was this translation helpful? Give feedback.
-
LMMS is a fairly straightforward project to manage and there's even potential for the management of the project to be a paid endeavor. The reason Discord is used so heavily is because the leaders that we do have helping are stretched too thin, so we can focus -- as a team -- to collectively merge something that might have been better off with a sign-off by someone that may not be available for weeks or months. It's also nice to be in direct communication with the users on a daily basis as the regulars on Discord will ping us for something urgent. The major downside to Discord is that it's not public, at least not in the conservative sense, so it leaves a lot of knowledge behind a proprietary tool. In many ways it's replaced our forums, but it does so in a non-Google searchable fashion, so a lot of knowledge that's gained there also stays there to rot for eternity and I'm not particularly happy about that. I consider this mostly to be a cultural shift as even our own developer mailing list became abandoned slowly after the switch from sourceforge to GitHub, so it's here to stay.
This pretty much summarizes the project. Those that can, don't (or more accurately, can't commit full time to any particular effort). I think it's true for most of our skilled help. With regards to "more professional", I used to agree with this, that everything could be organized and anyone could pick up where a project left off, but I'm not sure I still feel this way. As a person who's actually tried to consolidate issues and track milestones, I can say with 100% certainty that the milestones mean nothing when the team completing them is volunteers that work on whatever they can or whatever they want or whenever they want. WIth regards to "like other DAWS", I personally have a hard time taking these claims seriously. I do believe that there's a collective subconscious of what LMMS can become, but I also know first-hand how hard it is to worry about upstream changes all the time and the maintenance of these items can bog down any attempts for improvement. It's also an uphill battle fighting the community against bugs that have become features or odd workflow steps that have become second nature. I have several tracks from 10 years ago that won't work on modern LMMS versions because they rely on a broken plugin playing broken sounds and once this was fixed, I don't know how to reproduce.
But who does this? And what are these tasks? My issue with statements like this is it implies that someone takes the time to simplify a problem down to a description of a task that's easily completable. If that's the case, it's often quicker to just fix the problem rather than documenting how easy it is for someone else, but even when tasks are identified and put simply, people still jump in with ways to do it better and this won't stop happening until the codebase has been made coherent. I think #4067 is a classic example where a quick fix was ready for merge, but the "better" fix is pushed, which starts quickly grows in scope of how to fix it correctly. This is NOT the exception for this project, this the standard. I don't think we can "wish" it into being more organized, I think we need good, active developers working together and around the clock to get this done and until we have those, we'll still get there, just much, much slower. There's also a fair chance that LMMS will be forked into a complete rewrite as a result of this bottleneck. I think the project is a good candidate for this, especially considering how dated the MDI interface is, how coupled the UI + Core are and how inconsistently most UI features behave.
I would agree.
I think you're combining unrelated things... Competence, authority and knowledge. For example, some people have authority but just aren't skilled in a particular area of code. "Competence" is a bit of an ambiguous term because one can be technically competent to approve a feature from a UI/UX perspective and from a testing perspective and also have the authority to approve it, but not be competent to approve the code. Today @bratpeki asked for access to testing and we created a new GitHub groups for testers so that they can help triage issues with us (whether assignment, review, etc). I think this is a step in the right direction. The #testing channel on Discord is pretty active and is a great place to ping people for help with at least the UI/UX and testing stuff. Discord is also a fair place to gain consensus (whether totalitarian by the few lead developers at a given time or democratic by the community it impacts).
I think this is an accurate statement, but with regards to having a sole leader to take on the project, everyone that steps up gets burned out and getting good leadership (for free) is very hard to come by. We have some up and coming developers that might step up to this plate, but I fear that they'll quickly get discouraged. I've watched so many technical arguments sour developer's involvements that "needs leadership" is an obvious side-effect of these projects, not an insightful prescription that fixes anything. I hope my replies aren't too negative. @michaelgregorius As an aside, I would like to personally invite you to Discord. You can mute the non-technical channels and it's a pretty pleasant place to be. We might eventually add an IRC relay bot to interact with it for those that would rather use conservative comms, but that effort lacks volunteer effort as well. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the invite! ❤️ I've had a number of technical complications which have made development halt for me, and thus, I've reverted to testing, only to find out testers are, funnily enough, more needed than developers, in some aspects. I'm all for pushing towards 1.3, but I'm afraid this approach will drive certain developers away. Szeil and Regulus come to mind. Cool PRs, but not at all 1.3(+) related. So it's a difficult position. Their efforts in 1.3 would do wonders, but I don't know how to convey this to them without making their currently open PRs sound unimportant to us for the time being. I'll test whatever and am currently bound to Windows 10. Building is not at all an issue, in great part due to Fuyir's, Krejstal's and @tresf's help with generating the MSYS2 build rules! I'd suggest reviving the 1.3 development thread or opening a separate Discord chat where a small handful of us can work on that, or working from here. These "developer views" are uncharted territory for me, but I'm hopeful Tres and Ross would help me adjust by answering whatever questions I might have! Anyhow, yeah, maybe pack up the Caps plugins PR first and go from there? Sounds like a sound approach to speeding up the trip to 1.3. |
Beta Was this translation helpful? Give feedback.
-
My impression from aside: (2)
I hope Discord information cardinally change situation, but my impression is: LMMS project have problems with term "Project directions and goals" (at least no agreement about this). But , comparing 1.2.2 , 1.3 alpha and master , I see that LMMS is in right direction. (3)
Different DAWs has different "using logic",so even changing one top 10 DAW to another top 10 DAW is " potentially off-putting".
It is one good example, that is now done, but not so critical ...
For me LMMS is good enough without this ... This things should be done but with lower priority ... (4)
Leadership can be good solution, but it is near not real for new person to be able for such leadership, and LMMS team now has no candidate (how I understand situation) .. |
Beta Was this translation helpful? Give feedback.
-
This is one of the examples I was referring to when I made this statement:
The maintainer of this plugin changed so much code that it's a huge task to upgrade. #4027. To NOT break projects, we need someone that can help provide an upgrade routine (for starters, they don't need to be in code, just the recommendations need to be documented) so we know which ports and which values to map for each missing or renamed plugin. That PR's been open for 7 years. |
Beta Was this translation helpful? Give feedback.
-
(1) Substitute current lmms-1.3.0-alpha.1.102 with new one:
And I treat thing critical only if it is something, that prevent new release happen. (2) More transparent project goals (high priority) P.S But a lot of video like this, shows, that LMMS (even before 1.2.2) is good enough in practice (and I made like this testing videos on 10 years old garbage computers - no lags, no sound dropouts). So real question is: "What real-time safety problems are in LMMS master now?" But if has, than this is high normal priority task.
another high normal priority task.
But this now even not actual - SDL driver has configurable input right now in master, but how LMMS user can use this? |
Beta Was this translation helpful? Give feedback.
-
It is release critical bug - regression : SID became broken after code refactoring. This long running task is memory allocation for simulator.
And this developer is who made this LMMS code refactoring - not the SID author !.. And regression in SID is not the reason, that LMMS have problems with real-time safety - just one refactor code author have this problem. Sorry for some "sharp words" ... P.S. |
Beta Was this translation helpful? Give feedback.
-
Hi everyone. If you want to continue discussing in this thread this is obviously fine. For me personally it is not needed anymore. I tried to get some discussions going on how to improve things but quickly learned (again) that rational discussion seems not to be possible with some people. It is now clear to me that things will not change and that I will therefore need to make a change myself and stop contributing to the project because it is not working for me in this form. I was already short of doing so after the "ADSR conundrum" thread that was alluded to here and this thread shows me that it might have been the right decision to do so earlier. Because I am not on the Discord and also do not plan to join it after I have just left the project I'd like to write a farewell message in a new discussion so that I can say goodbye to the other developers. I hope that is okay. It has been around 11 years after all. I will also be available with regards to my open PRs if they are intended to be merged at one point so that this work is not wasted. However, I won't implement any new features or do reviews anymore. |
Beta Was this translation helpful? Give feedback.
-
@michaelgregorius I think as a project we need to focus on this here. For starters, we do discuss trust fairly often on Discord because this conversation tends to benefit by being behind doors (not closed doors, just not internet searchable). For example, when people want to update our wikis, gain access to triage or developer we're pretty quick to grant such trust and we discuss this fairly openly there. Sadly, this can cause alienation to those only exposed to "trust" through the bug tracker. Adjacent to this, LostRobot expressed some concerns as well about PRs lasting too long in limbo. This is fairly well-known and something we need to fix. I think we're all happy to hear suggestions to improve this. My personal belief is:
I'm fine with devs testing their own stuff, but even if they don't they need to take onus of any regressions that they caused. This is usually the case, so if the project feels hesitant to accept PRs -- especially by previous, "trusted' developers -- we should be able to collectively make that process easier. |
Beta Was this translation helpful? Give feedback.
-
IF communication issues arise in PRs not being looked at, I've recenlty take a bigger role in LMMS regarding testing (7477 is actually nearing finalization, 7444 is in progress, and some more) and would be willing to look at those. Regarding communication issues, if @michaelgregorius still has it in his heart for me to try and make amends, I would like to know if the problem with Discord is it being proprietary and whatnot? Rocket.Chat is a possibility, say, and we could keep it team-exclusive. That way, us Discord folk can do PR (public relations, since I know that's not what comes to your minds when you see those two letter 😂) and can report back and use that feedback to work on the project. In essence, a more Discord-like chatting system (pinged messages, message replies, etc) without being directly Discord (Rocket.Chat running on the same server the website is running on) would allow for neat communication. In any case, project goals could be more clear, I agree, but now the project is in a position of senior devs doing the heavy-lifting and junior devs investigating the codebase and adding QOL features. I don't think this is a bad approach, even if it is a slow one. If @michaelgregorius has a list of PRs that are important and should be tested first, I would be happy to look at those as soon as I can! |
Beta Was this translation helpful? Give feedback.
-
Sorry Michael on behalf of the project, for making you feel like leaving is the only option. I respect your decision to leave but at the same time, I would appreciate if we can take care of the pending work before your exit, the unmerged stuff. Note: I said something else in the message before i edited this in, because peki said the old message lacked humanity, and i felt it too. Didn't mean to hurt anyone. |
Beta Was this translation helpful? Give feedback.
-
I wrote before: (in 10 days I will open discussion about such "little" uncompleted things) Instead I participate in discussion #7653 : Thank You, @regulus79 ! |
Beta Was this translation helpful? Give feedback.
-
I just started a monthly progress report for the benefit of both users and devs. It will be a kind of newsletter where we talk openly and transparently about goals for each month, in-progress work, and recent changes in Nightly, while also being a place for discussion and feedback. It will be posted here, on Discord, and on the lmms.io forums. |
Beta Was this translation helpful? Give feedback.
-
The following comment/interaction and also some personal experiences motivated me to start this discussion: #7538 (comment).
Project directions and goals are not transparent
The direction(s) that the project team wants to take and the goals are not really transparent for users that are not on Discord. Because development is taking place here on GitHub it would be logical to me to also make the goals of the project transparent on GitHub so that people can contribute in a meaningful way even if they are not on the Discord. This might be done in various ways:
It might also be helpful to make team members responsible for certain topics and areas and to make them more prominent. If I create pull requests it's not really clear to me whom I should add for reviews, e.g. who is still active and might be interested in the pull request. Also most reviews are only style reviews but not really reviews of the actual feature and its direction.
Project leadership
My personal impression is that the project is lacking leadership, e.g. someone like Ton Roosendaal for Blender or Guido van Rossum for Python. However, it might only be my impression because I am not on Discord and therefore things are not transparent to me.
The people that I have mentioned are sometimes called BDFL (Benevolent Dictator for Life) in tongue-in-cheek. In my opinion what's important for such a role is that the person that takes it is knowledgeable in the field so that they can take the "right" decisions.
In the context of LMMS that would mean that such a person would ideally have experience with several different other DAWs and be curious how things work under the hood.
The role of such a person would also be to steer people that are not as knowledgeable in the field into the right direction. If I remember correctly I have once read that there are developers on the project who have never seen a DAW other than LMMS. It's not hard to imagine that this can result in very strange solutions that are unorthodox and potentially off-putting for users that have experience with other DAWs.
My personal goal
My personal goal is to help push LMMS more towards a "professional" direction and to make it more on par with other DAWs (see for example my PR for faders with a dB scale). If you compare LMMS to other DAWs you will find that it is lacking quite a lot and has a number of the aforementioned weird solutions.
However, my time is sparse so unfortunately I cannot help with the real big tasks that would be necessary to do so: real-time safety, audio graph with latency compensation, more sophisticated features for audio drivers, e.g. multiple inputs and outputs, etc. That's also the reason why I cannot or do not want to get too involved, e.g. via Discord.
I would greatly appreciate if someone who is active on Discord and who reads this would point the other team members to this discussion. 😉 Thanks!
Beta Was this translation helpful? Give feedback.
All reactions