Is multi platform support a waste of resources?

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

Post Reply
ssj71
Established Member
Posts: 1294
Joined: Tue Sep 25, 2012 6:36 pm
Has thanked: 1 time

Is multi platform support a waste of resources?

Post by ssj71 »

This is partially a reply to drumfix in the thread about LMMS needing developers (dizzy asked that thread remain on topic), and also because a similar theme has arisen in the thread about Linux being a major player (someone genuinely asking if devs are spread too thin to support all platforms).

Most devs will say no to the title question. I agree. Supporting other platforms typically isn't a big focus point anyway. With good programming multi-platform support is trivial, and since currently most users are linux, devs spend most of the support time toward linux as well. Thats great.

Another thing is that even if a project is yours, since its open source, you can't really dictate how others work on it. You can try, and some folks are happy to take assignments, but at some point, if you have 2 devs that work on the windows version (i.e. lmms) and you tell them they have to focus on the linux version and making it stable, you'll probably find the project is suddenly down 2 devs. I think most projects have it right. Most FLOSS developers are more personally interested in supporting an open OS (linux) and focus on that. People porting to other platforms is just bonus users and developers.
_ssj71

music: https://soundcloud.com/ssj71
My plugins are Infamous! http://ssj71.github.io/infamousPlugins
I just want to get back to making music!
diizy
Established Member
Posts: 105
Joined: Tue Feb 04, 2014 2:48 am

Re: Is multi platform support a waste of resources?

Post by diizy »

I already explained some of the reasons why I think cross-platform development is beneficial in the other thread, but I'll continue that here...

If we're talking about a small software company where all work is done by paid developers, then all work is paid by the hour and the company has to limit what features get implemented, what work gets done, where it's financially viable to spend their resources etc...

In an open development model, it's an entirely different game. Especially if we're talking about a software that leverages cross-platform technologies and toolkits... Qt makes many things very easy to implement in a cross-platform way - almost everything in Qt can be written once and then it runs directly, as-is, on all of the supported platforms. There's very little #ifdefs required on the Qt code.

Things like Jack, SDL, Fluidsynth, ZynAddSubFX, etc... all run cross-platform, with no changes needed in most cases.

Granted, there are some parts where we have to do #ifdefs to account for different compilers... but then, we also have some parts where we have to account for deprecated APIs and do #ifdefs because of various versions of an API that exist just in various Linux distros! (One example that comes to mind: Qt changed MidButton to MiddleButton) So cross-platform aside, concentrating only on Linux wouldn't even free us from those kinds of troubles.

For about 99.5% of the things we do, we don't even have to think about platforms - most work that gets done is features or bugfixes that affect all platforms and can be done with the same code for all platforms.

There are some exceptions though... dead platforms are something where I've considered that we have to draw a line to: platforms like Windows XP, or old versions of Ubuntu that are no longer maintained - we're not going to go out of our way to address issues that only affect those platforms, if those issues don't exist on actively maintained platforms.
diizy
Established Member
Posts: 105
Joined: Tue Feb 04, 2014 2:48 am

Re: Is multi platform support a waste of resources?

Post by diizy »

falkTX wrote:My main focus right now is Linux because it's the only viable opensource OS option right now.
Once HaikuOS gets more stable, I will try to make it work for myself (I love some of its base ideas).
Haiku sounds pretty interesting, it would be a fun experiment to see if LMMS could run on Haiku... :)
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Is multi platform support a waste of resources?

Post by Drumfix »

My point is that if you have the resources (manpower) to do a port to another plaform you are fine to do it.
But linux development in general is always short on manpower.
So linux developers should not waste their time on a project whose source of lack of manpower stems from their intention to add a port to just another platform.

Why i find porting to another platform is stil a waste of time are the following reasons:
1. A new platform means to lern how things work on it.
E.g. I see lots of #ifdef W32,, #ifdef OSX in the Carla code.
2. In the age of virtualisaition you can run any OS on any other and thus you can use any app written for one OS
by virtualision on top of the other.
3. Using Xservers you can export the display of a linux box to any other OS. OSX has an Xserver, there are free (as in beer) Xserver
implementations for windows. So if you have a performance issue with virtualisation, just hook up a headless linuxbox over (w)lan
and run the app on linux while having the display on your other OS
4. There are so many high quality apps on OSX and Windows that you won't find a user that has waited so long just for YOUR application to appear :)
diizy
Established Member
Posts: 105
Joined: Tue Feb 04, 2014 2:48 am

Re: Is multi platform support a waste of resources?

Post by diizy »

Drumfix wrote:My point is that if you have the resources (manpower) to do a port to another plaform you are fine to do it.
But linux development in general is always short on manpower.
So linux developers should not waste their time on a project whose source of lack of manpower stems from their intention to add a port to just another platform.
Except that that's not how open source development works. Unless we're talking about something like Canonical or Google, most open-source development teams don't have any paid developers who would be forced to do whatever they're told to do.

An open source development team is something of a loose congregation of enthusiasts: people come and go, drop off some code, everyone pretty much does what they want and concentrate on things they care about...

So then you can't just forbid people who want to work on a port to another OS from doing it (even if you do, they can just fork the software and do it anyway) and expect them to put that same amount of effort into Linux development.
Why i find porting to another platform is stil a waste of time are the following reasons:
1. A new platform means to lern how things work on it.
E.g. I see lots of #ifdef W32,, #ifdef OSX in the Carla code.
2. In the age of virtualisaition you can run any OS on any other and thus you can use any app written for one OS
by virtualision on top of the other.
3. Using Xservers you can export the display of a linux box to any other OS. OSX has an Xserver, there are free (as in beer) Xserver
implementations for windows. So if you have a performance issue with virtualisation, just hook up a headless linuxbox over (w)lan
and run the app on linux while having the display on your other OS
Yet oddly, virtualized/xserver-relayed remote Linux apps have not become the latest craze in the Win/Mac world.
4. There are so many high quality apps on OSX and Windows that you won't find a user that has waited so long just for YOUR application to appear :)
So wait, are you saying Linux apps are of poor quality?

Many of the most prominent and succesful open-source software have more users on Windows than they have on Linux - even if the application originated from Linux. Most people just use whatever is preloaded on their computer, and Windows happens to dominate there...
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Is multi platform support a waste of resources?

Post by Drumfix »

Yet oddly, virtualized/xserver-relayed remote Linux apps have not become the latest craze in the Win/Mac world.
LOL. The reason is that none of them know what a xserver is, what you can do with it and that they can run it on their OS.
In my job we ecxclusively use virtualized machines that we work on using Xserver connections from our Win office desktops.

But see my other post about why this is also useful with Audio.
So wait, are you saying Linux apps are of poor quality?
No. I say there are so many high quality apps on Win/OSX. Ther'es just nobody waiting for another one.
diizy
Established Member
Posts: 105
Joined: Tue Feb 04, 2014 2:48 am

Re: Is multi platform support a waste of resources?

Post by diizy »

Drumfix wrote:LOL. The reason is that none of them know what a xserver is, what you can do with it and that they can run it on their OS.
Right, and if those people "only knew" the advantages of Linux, we could just get them to use Linux instead of Win/OSX...

Do you see the problem here? You're sort of putting the cart before the horse...
Drumfix wrote:No. I say there are so many high quality apps on Win/OSX. Ther'es just nobody waiting for another one.
Go tell that to all the Win/OSX users of all the already existing open source applications that run cross-platform... Blender, GIMP, LMMS all have more users on Windows than they do on Linux.

Furthermore, most average users are not going to want to install virtual machines or xservers just to run an application. You yourself say Win/OSX already has lots of good-quality apps... what makes you think people will go through the trouble of running apps over a virtual machine or xserver if they have all those high-quality native apps they can run natively instead?
Drumfix
Established Member
Posts: 299
Joined: Mon Jan 26, 2009 5:15 pm
Been thanked: 11 times

Re: Is multi platform support a waste of resources?

Post by Drumfix »

Blender, GIMP, LMMS all have more users on Windows
Yes, because 1. there IS a port already, and 2. the alternatives are so expensive, that the average user can't afford them.
And there are a lot more users running Win than Linux. And this may be true for the developed countries.
Outside them wherever i go i see only machines full of cracked software and none of those opensource tools.
most average users are not going to want to install virtual machines or xservers just to run an application.
If an app is attractive enough, they'd do either of that. I know people who keep a win partition only for gaming.
So if they want to run a linux app, they better keep a partition ready. If its not worth even that then there is no reason
why to clean their ass and write a port for them.
diizy
Established Member
Posts: 105
Joined: Tue Feb 04, 2014 2:48 am

Re: Is multi platform support a waste of resources?

Post by diizy »

Drumfix wrote:Yes, because 1. there IS a port already,
Uh, yeah?

There IS a port of anything after it is ported.
Drumfix wrote:2. the alternatives are so expensive, that the average user can't afford them.
And there are a lot more users running Win than Linux. And this may be true for the developed countries.
Outside them wherever i go i see only machines full of cracked software and none of those opensource tools.
In less developed countries, Linux and open source softare are actually used more because people can't afford proprietary apps or OS. And people use cracked software everywhere.
Drumfix wrote:If an app is attractive enough, they'd do either of that.
No, they wouldn't. That's just like saying "if an app is attractive enough, people will move to Linux to use it". People don't easily move outside their comfort zone. There's still the perception among the general public that using Linux is hard, that there is no good software, etc...

For the same reason, people are not going to start using virtual machines to run Linux apps on Windows. Expecting them to do so is just plain unrealistic: virtualization isn't something your Joe Everyman even knows about or knows how to set up, neither is setting up an xserver on Windows... Win/OSX users are used to apps being set up by downloading a file, double-clicking on it and then clicking through the installer dialogs. If it's any more complicated than that, 90% are not going to bother and will rather use a native app, even if it's not as "attractive".
Post Reply