|
|
Log in / Subscribe / Register

Davis: Is Open Source a diversion from what users really want?

Over on the Ardour forum, Paul Davis wonders whether access to the source code is truly what users these days want or need. There are other closed-source digital audio workstations that are far more customizable than Ardour via a scripting language without needing any access to the source. "But perhaps for applications like Ardour, ones that do not yet exist, there ought to be a different development pathway. I remember once wondering if we should have implemented the entire GUI in PyGTK (i.e. Python). We didn't, and most of my curiosity was about whether it would have helped or hindered our development process. However, had we done so, one of the consequences would have been that many changes to the program would have been made simpler, easier to access and would require no 'rebuild'. I wonder if going forward, large-scale apps like Ardour ought to (as Reaper did relatively early in its life) consider the 'script extension system' to be a vital and critical part of the application infrastructure. This would mean, for example, writing large parts of 'core functionality' using this system, rather than dropping back into C++ to get things done. There are precedents for this: GNU Emacs, for example, is at some level written in C, but almost everything about the program is actually constructed in Emacs Lisp, its own 'scripting extension'. The C core of Emacs is so small and so irrelevant that it almost doesn't matter that it is there: if you want to modify or extend Emacs, you (almost always) write Lisp, not C."

to post comments

Davis: Is Open Source a diversion from what users really want?

Posted Feb 7, 2020 18:41 UTC (Fri) by vadim (subscriber, #35271) [Link]

Sounds like still the source to me. Just because Python doesn't need to be compiled, and is easier to work with than C++ doesn't make it not be source code.

The way I see it, the problem is with how much work it takes to extend the system, and not about the availability of source code per se. C++ can be hard to compile, while a module loadable at runtime without requiring any particular setup or preparation is much easier, so people wanting to get something simple done as quickly as possible prefer scripting systems.

Also, any system with a closed core is also going to run into limitations sooner or later. Especially in complex applications that deal with things like hardware, or are performance sensitive, the ability of scripting to work depends on the engine providing the required tools and amount of access, and there will be tasks that will require the core to be improved to make a script able to do something efficiently, or do it all. This may not matter to this particular user because they've not run into that issue, but it will matter to others because they have.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 7, 2020 18:44 UTC (Fri) by thumperward (guest, #34368) [Link] (1 responses)

The ability to extend the program without being willing or able to invest the tens or hundreds of hours required to grok the source in general is one reason why e.g. Firefox was so successful initially.

Of course bolting this sort of extensibility on after the fact is incredibly difficult, and the XPCOM rewrite of Mozilla which resulted in Firefox being so extensible is one of the most high-profile examples. Whether a 2+ year rewrite which was frequently regarded as a disastrous error at the time is worth looking fondly back on two decades later, of course...

Davis: Is Open Source a diversion from what users really want?

Posted Feb 9, 2020 20:03 UTC (Sun) by rvolgers (guest, #63218) [Link]

It's also worth mentioning that Mozilla has since backed off from such deep extensibility.

It can be a bad idea because it means any change you make to your program will probably be a breaking change for some plugin. It makes big UI changes or internal architecture changes effectively impossible. Especially if the extension ecosystem takes off and you have no idea anymore what people are using.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 7, 2020 19:06 UTC (Fri) by ballombe (subscriber, #9523) [Link] (1 responses)

Rather rewrite your program as a shared library with a public API, and provide python binding to this API, and make sure your GUI only use the public API.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 13, 2020 20:06 UTC (Thu) by smitty_one_each (subscriber, #28989) [Link]

Let "Give it a REST" be our motto.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 7, 2020 19:33 UTC (Fri) by flussence (guest, #85566) [Link] (3 responses)

If they'd written the entire GUI in PyGTK, one of the consequences would be that it'd be getting removed from most distros by March.

GCC still supports -std=c89.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 8, 2020 15:50 UTC (Sat) by tuna (guest, #44480) [Link] (2 responses)

It's not that much work to convert to PyGI. You would have to convert to Python 3 as well by now.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 10, 2020 12:30 UTC (Mon) by BirAdam (guest, #132170) [Link] (1 responses)

That’s kind of the point. A short term choice for scripting means that you will rewrite that piece of code many times, as opposed to C where c89 is still an option. Might actually be less work with C than with Python, if we count total cost of ownership instead of purchase price (where cost/price is human work hours).

Davis: Is Open Source a diversion from what users really want?

Posted Feb 10, 2020 20:17 UTC (Mon) by tuna (guest, #44480) [Link]

If you make a GUI app you would have to change the code anyway in the time span we are discussing (Qt3 -> Qt5, Gtk2->Gtk3 etc).

Davis: Is Open Source a diversion from what users really want?

Posted Feb 7, 2020 20:44 UTC (Fri) by pj (subscriber, #4506) [Link]

I once came up with a site called hackable hardware that rated 'hackability' on a number of different scales:

* 'Integrable': extensible via scripting and/or an API
* 'open source': source code available
* 'open hardware': open hardware

each of which had a 5-star rating available. Because 'open' means different things to different people. Sometimes being integrable enough is fine - at some level, anything with a binary blob on it (eg. wifi adapters) is only 'integrable' not 'open source'.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 8, 2020 20:41 UTC (Sat) by tshow (subscriber, #6411) [Link] (3 responses)

In a lot of ways I think this misses the point; as someone using things like this, the availability of the source is important for three reasons:

1. I can fix bugs
2. I can add features
3. It can't arbitrarily go away due to a corporate buyout, a "pivot", bankruptcy, or whatever and leave me hanging with a bunch of my own work I can no longer access.

Of these, 3 is vastly, staggeringly the most important. By several orders of magnitude.

In the early 2000s, I used to work at game company owned by $HUGE_PUBLISHER_A. We and everyone else owned by $HP_A used $COMMERCIAL_RENDER_PACKAGE for all their games, and depended completely on $CRP. $HUGE_PUBLISHER_B bought the maker of $CRP and pulled it off the market, specifically to screw $HP_A. No renewals of licenses, no new builds, no bug fixes, no new licenses. $HP_A lost 6-8 months of dev time across their entire product lineup, the effects of which of course rolled downhill to all of us in the mines, mostly in the form of 16 hour 7-day-a-week crunch that lasted for months.

$CRP wasn't great, but it was popular, and I wonder how many mid-tier studios were collateral damage in the power play between the two giants.

I like free software for philosophical and moral reasons, but also for quite practical "one less thing to worry about" reasons. This is also why I generally avoid "SAS" stuff.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 9, 2020 8:05 UTC (Sun) by danieldk (guest, #27876) [Link]

Or fashionable today:

4. Switch to a subscription model, so that you never really own the product. Instead, you have to pay whatever prices the vendor demands and you can not stay on and keep an older version if you don't find the pricing or product changes acceptable.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 15, 2020 12:27 UTC (Sat) by tedd (subscriber, #74183) [Link]

Error: Variable $HP_A not defined.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 20, 2020 4:48 UTC (Thu) by midol (guest, #25855) [Link]

+1 to tshow, #3 is way out there most important. If I had back all the time I've wasted on this one I'd live to be 200

Davis: Is Open Source a diversion from what users really want?

Posted Feb 9, 2020 2:04 UTC (Sun) by atai (subscriber, #10977) [Link]

ironic that emacs was the topic that started it all, of this source code should be freely copyable and modifiable movement.

The Lisp scripts in Emacs are still sources.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 9, 2020 3:39 UTC (Sun) by pabs (subscriber, #43278) [Link] (2 responses)

I theorise:

Software users *always* want the software they use to do things it cannot do yet, for both open source and proprietary software.

Proprietary software companies noticed this and cater to this need by adding extension interfaces.

Through marketing and resources, the proprietary software space has a much larger scope and set of users than open source.

Therefore more software users and developers are exposed to software customisation through extensions than are exposed to customisation through modifying source code.

Over time this has changed the zeitgeist among both software users and developers towards large applications with programmer-centric cores and extension layers suited towards low-overhead scripting.

So, over the worldwide software-using population, the software ecosystem used on user devices that people are exposed to in their daily lives is proprietary and thus requires extension systems and that is leaking into the culture of people who discover and begin to use open source.

I think that the issues around compilation, setup time and so on are a side note to the larger issue I theorise about above, although it sounds like on proprietary platforms they are more important than on most package-manager based open source ones.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 10, 2020 1:13 UTC (Mon) by roc (subscriber, #30627) [Link]

As an example, Firefox is open source but it's much more convenient to customize it through WebExtensions than through modifying the source, for very good reasons. They are (mostly) guaranteed to work together without interfering, you can install and start using them without a lengthy build process or even restarting the browser, they are (mostly) guaranteed to keep working across browser updates (and even entirely different browsers; it's not hard to create an extension that works in both Firefox and Chrome), they are sandboxed so each extension can be limited to defined, user-checkable permissions, and it's much easier to write a WebExtension than to hack Firefox source code. It's not crazy, ignorant or ideologically impure for users and extension developers to want these things.

Davis: Is Open Source a diversion from what users really want?

Posted Feb 10, 2020 15:58 UTC (Mon) by khim (subscriber, #9252) [Link]

Emacs (the original version from 1976) predates almost all that commercial activity.

It was always easier to extend functionality with scripts - just in early days of computing programs were small thus changes to source were simple, too.

Today... it's often quite hard to even build the thing, and if you need to change source - that's an even bigger hassle.


Copyright © 2020, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds