News for hackers. Stuff that matters.
Re:Update on MuseScore 3.6 and 4.0 by khazhoux on Thursday November 05, 2020 @04:53AM (#24996909)
> After discussing these points at length, we decided to do the following: Rearchitect the application from the ground up to vastly increase our development speed in future (more about this in the next part)

Typically this is a death knell for a software project -- however well-reasoned, well-intentioned, and well-planned.

Re:Update on MuseScore 3.6 and 4.0 by coldtea on Thursday November 05, 2020 @05:22AM (#24997045)
>Typically this is a death knell for a software project

Only according to a popular, but not exactly scientific, old-wives tale of an article by Joel Spolsky.

Lots of commercial apps that had end-to-end redesigns with improved engines (DAWs, NLEs, etc), and did it just fine.

FCP to FCPX is one example, Cubase circa SX era, lots of others...

Even Joel's example, Firefox, is only viable today because they did many redesigns. If it was still the old Mozilla era-4 codebase + cruft upon cruft, it would matter even less.

Re:Update on MuseScore 3.6 and 4.0 by bluGill on Thursday November 05, 2020 @08:17AM (#24997954)
I work on a project that was a ground up redesign, except for one small (but one of the most important features for our customers) that was ported to the new system. In the years since the team working on the ported part has been given time to make their code better. I have concluded that we could have in place refactored the old code to the new system and been fully functional the whole time for much less cost.

The new system is clearly better than the old one. If we had refactored in place we wouldn't have the same system as we have now. With the benefit of hindsight, I can now see some places in the new system that are not working as well as hoped and we are working on a plan to refactor those parts in place to something better.

Re:Update on MuseScore 3.6 and 4.0 by titanomachy on Thursday November 05, 2020 @02:19PM (#25001050)
Wasn't Joel's example Netscape Navigator, not Firefox?
Re:Update on MuseScore 3.6 and 4.0 by jcranmer on Thursday November 05, 2020 @02:35PM (#25001189)
It's basically the same thing. The big Netscape rewrite was from the 4.x code to the 6.x branch; the 6.x branch was what was released as open source, and when the decision was made to build a UI that encompassed only the browser and not the mailnews code, the resulting application became Firefox.
Re:Update on MuseScore 3.6 and 4.0 by coldtea on Friday November 06, 2020 @12:03AM (#25005055)
Yes, but Netscape Navigator got rewrote to Mozilla who eventually turned to Firefox. So same thing -- I referred to his example by the (current) name of the rewritten product instead of the name of the name of the original product that got rewrote.
Re:Update on MuseScore 3.6 and 4.0 by elb2020 on Thursday November 05, 2020 @05:51AM (#24997183)
The reason behind this wisdom is that it's easy to suggest a rewrite because you think the current code is too complex. You suggest a rewrite because you cannot grasp the current code. If that's the case, then I think the mentioned wisdom more or less holds up. However, it's also possible to understand the complexities of the current code, and still suggest a rewrite. Then the likelihood of a success is much, much bigger, I think.

I'm not 100% sure, but I'm under the impression that imdb.com pulled off such a rewrite a couple of years ago.

Re:Update on MuseScore 3.6 and 4.0 by kybernetikos on Thursday November 05, 2020 @04:58AM (#24996929)
I can think of a few opensource projects where it has not been, and have been involved in a few such successful projects professionally myself.

It's certainly not something to be taken lightly or by people who don't understand the intricacies of the original system (Chestertons fence) but I think people are sometimes too reluctant to do this sort of thing.

Re:Update on MuseScore 3.6 and 4.0 by sigstoat on Thursday November 05, 2020 @10:57AM (#24999302)
> Typically this is a death knell for a software project -- however well-reasoned, well-intentioned, and well-planned.

i've watched this cliche doom more projects than the actual attempts at rewriting/rearchitecting.

midwit managers crying "oh engineers always want to throw everyone else's work away" have basically banned redoing anything, no matter how dire the situation.

Re:Update on MuseScore 3.6 and 4.0 by gmueckl on Thursday November 05, 2020 @06:12AM (#24997270)
Your quote specifically uses the word "rearchitect", not "rewrite". It doesn't imply throwing out all existing code, which would indeed be madness.
Re:Update on MuseScore 3.6 and 4.0 by marten-de-vries on Thursday November 05, 2020 @03:47PM (#25001788)
I think 'rearchitect' should be interpreted as 'redesign the UI', not as 'start from scratch'. Most big changes seem limited to the UI (and done as part of a Qt -> QML migration). And it looks they'll do even those piecewise:

> In order to get the release of 4.0 out as fast as possible, we will be porting over many of our less used interface elements and dialogs directly from MuseScore 3. The plan is to gradually replace these with redesigned versions (built in QML) in subsequent releases (4.1, 4.2, etc.).

That doesn't sound unreasonable to me.

Re:Update on MuseScore 3.6 and 4.0 by jcelerier on Thursday November 05, 2020 @09:02AM (#24998255)
> Typically this is a death knell for a software project -- however well-reasoned, well-intentioned, and well-planned.

beh, that's what we did for at some point for ossia.io and it turned out very very well