LWN.net Logo

Free is too expensive (Economist)

Free is too expensive (Economist)

Posted Apr 1, 2012 9:26 UTC (Sun) by khim (subscriber, #9252)
In reply to: Free is too expensive (Economist) by Del-
Parent article: Free is too expensive (Economist)

Nevertheless, it is through them that apps have access to their dependencies, and then depend on them being present in the app store.

Have you ever actually used any appstore? Of course if someone will try to create app store which works this way it'll not work.

Applications are not supposed to depend on app store. At all. Yes, some of them include instructions which say “install package XXX before you can use this package”, but these are rare: developers know to the very bone that when you add any such dependency you risk alienating users.

For the most part application is standalone thing and it can be installed in isolation provided you have required version of Android. Some allow you to further install plugins - but this is handled by application itself, not by app store.

App store reliably solves dependencies problem - by refusing to support them at all. This approach is tested and it does scale. It uses more resources then distro packaging approach, but frankly in a world where entry-level phones have gigabytes of flash and entry-level laptops have hundreds of gigabytes of space on HDD this is not an issue.

If you build an Qt app for Android you will experience how this is used to pull in the Qt libraries.

Yes, I know. Qt abuses the system slightly. Time will tell if it'll work Ok for them or if people will complain too much.

Problem is that this model is much more fragile, since you leave it up to packagers to handle all dependencies. That model simply does not scale.

Somehow it scales pretty well on Web: all these Google Maps APIs, Facebook APIs and so on are supported by developers without distribution-appointed police officers and so far Web works.

I repeat, the devil is in the details, you are mixing the dependencies which is a back-bone of open development with ABI breakage. For meaningful discussion we will need to separate between the two.

I don't care about any back-bones. I care about the ability to build and deploy the program.

"This is what makes it possible to create a store with 500'000 applications faster then Linux could build one with 50'000 applications."

I beg to differ. There are far more linux applications than 50'000.

Yes. Show me one repo with at least this much - and you'll have a point.

Bring in all the ppa's of ubuntu, and you have something more comparable.

Nope. If you'll bring all the ppa's of ubuntu on one system then most likely result will be something crazy - I'll be surprised if the resulting system will even boot. PPAs are dangerous beasts. They conflict with each other, some of them can break your system even if they are used in isolation, etc. IOW: they push the burden on user. And the last thing user want is to play “private distro packager”.

Ubuntu has adapted their software center for proprietary applications, so it is finally offered, but admittedly still in it's infancy.

It's worse: it does not even address API stability seriously. The only thing it says:

 In order for your application to be distributed in the Software Centre it must:

  • Be in one, self-contained directory when installed
  • Be able to be installed into the /opt/<package-name> directory
  • Be executable by all users from the /opt/<package-name> directory
  • Write all configuration settings to ~/.config/<package-name> (This can be one file or a directory containing multiple configuration files)

Short, simple set of requirements, right? Well, let's start. Be in one, self-contained directory when installed. How can I do this when Ubuntu does not provide stable enough foundation for the development?

No, it doesn't, but it pretty much takes care of the ABI issues for most other standard libraries.

Rilly? SDL is not there, crypto (neither openssl nor gnutls) is not there, desktop integration (dock, notifications, etc) is not there, HTML widget is not included, etc. Just what kind of desktop application can I build using this foundation?

I did mention Gstreamer on the other hand.

Which is not in LSB either.

Pulseaudio is a server, so I am not sure exactly what grievance you have developing against it. Along with Gstreamer I can also add SDL.

My grievance is in the fact that nobody guarantees their availability. And if you'll take a look here you'll see that GStreamer is on the road to incompatible 1.0 version. When this happened with openssl Ubuntu immediately punted old version it to universe which effectively rendered all packages which used it out of “one, self-contained directory” category. SDL in the same boat. It looks like PulseAudio does not have plans to do this any time soon, but still, it's a gamble, not a stable platform with a stable ABI.

If you are happy with the approach taken by other platforms, i.e., using a fixed low performing high level language, you can do it in Python quite easily and expect it to provide your precious stable ABI to kingdom come.

Rilly? Can you gunrantee that two years from now KDE will not decide to switch to python3, for example?

In my book, linux has had a stable ABI.

Linux kernel has remarkably stable ABI. Linux desktop is a disaster. That's what we are discussing here.


(Log in to post comments)

Free is too expensive (Economist)

Posted Apr 1, 2012 16:41 UTC (Sun) by tuna (guest, #44480) [Link]

You will be able to run both GStreamer 0.10 and 1.0 concurrently, just like you can run GTK2 and GTK3 together.

Free is too expensive (Economist)

Posted Apr 1, 2012 17:28 UTC (Sun) by khim (subscriber, #9252) [Link]

But will GStreamer 0.10 come preinstalled or not? That's the question. Or else it'll me more of the same: I can't even get some Humble games installed on Linux, so I just reboot into Windows.

Free is too expensive (Economist)

Posted Apr 1, 2012 16:55 UTC (Sun) by Del- (guest, #72641) [Link]

"Have you ever actually used any appstore?"

Yes, of course. I have even made an Android app just for fun, and had to use necessitas to get a decent development environment. I am very happy to have most of my time focussed on linux applications, android and ios developers have my sympathy.

"App store reliably solves dependencies problem - by refusing to support them at all. This approach is tested and it does scale"

No, it doesn't. It will create the same disaster we have on the proprietary desktops.

"Somehow it scales pretty well on Web: all these Google Maps APIs, Facebook APIs and so on are supported by developers without distribution-appointed police officers and so far Web works."

No, web doesn't work. You cannot trust these api's. Facebook is already quite busy figuring out how to disable them to have people come over to their web-site instead. Google has changed api's on gmail and on google calendar for no good reason before. IMAP is the only sane way to talk to gmail, and google contacts are not available through any sane api yet. Moreover, you have probably seen the concerns over the internet being tested only on three engines. Html is no silver bullet, it may prove to look more like a thorny road.

"I don't care about any back-bones."

Then I suggest you go and troll elsewhere. The GPL is about building on each others work. If you don't care about that, and want to throw it away, I suggest you stop wasting your time here and go play on windows. Deploying programs on linux is not that difficult, I deploy a number of them across multiple distributions, and it hardly costs me any time. It is not a big issue. Those who want to do it manages. Your link to gstreamer only shows me that it finally is set to mature with version 1.0, hardly bad news for sound on linux.

Free is too expensive (Economist)

Posted Apr 1, 2012 17:33 UTC (Sun) by khim (subscriber, #9252) [Link]

No, it doesn't. It will create the same disaster we have on the proprietary desktops.

What disaster? If you mean “the system where you can play games, easily watch latest videos and do my work”, then yes, I do want such “disaster”.

No, web doesn't work.

I think is the point after which the discussion becomes pointless. If you think that web does not work and linux distributions do then you deserve what you are getting.

Free is too expensive (Economist)

Posted Apr 1, 2012 18:19 UTC (Sun) by Del- (guest, #72641) [Link]

"What disaster?"

The disaster is that practically all software categories end up with one dominating vendor, also known as monopoly. Notably, games still have numerous vendors, but they enforce the monopoly on the desktop. Have a look at win7, it contains practically nothing, and costs more than a $100 in the cheapest stripped down version. It is a tragedy (or disaster if you like).

"I think is the point after which the discussion becomes pointless."

That is up to you, I simply informed you that some of your prime examples have proved messy environments for programmers and users. Changing API's and web-developers who only cater to a subset of browsers. Thanks to the open model you seem to detest the web has improved tremendously over the last years, but it has at least as long to go as the linux desktop before it can be considered a stable environment. You are not alone though. Everything on the web seems to be the new mantra, it will fail as badly as similar foolishness before it.

Free is too expensive (Economist)

Posted Apr 1, 2012 21:34 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link]

Windows 7 allows to run other programs. And users are more than happy to pay for this.

I've actually tried to migrate a couple of mid-range (50-100 users) organizations to Linux. We've tried pilot projects with just a few users. Invariably, it turned out that some small but critical app they are using since 90-s can't work in Wine. Then they try do arithmetic:
> 1) Maintaining Windows + Office licenses costs $100 per year per user.
> 2) Writing a new application costs $10000 - that's 3-4 years of Windows 7 licenses.

Large companies might decide to go on with the migration. Small companies usually just continue with Windows.

Free is too expensive (Economist)

Posted Apr 2, 2012 7:43 UTC (Mon) by Del- (guest, #72641) [Link]

You really do open up new topics as we go along here. Migrating company desktops to linux is indeed challenging. Mostly because of lock-in. Sure, there are applications, some places more than other places. In HPC related industry you frequently have the opposite, applications, yes even proprietary ones, are often only available on linux. Guess what, proprietary 3D viewers are abundant on linux.

Start a new thread and I can join you in this discussion. For this thread we have already expanded the capabilities of LWN.

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