16

I'm wondering why there are so many applications for the same purpose but for different desktop environments. Like the burning software Brasero for Gnome and K3B for KDE. Isn't this reinventing the wheel all the time? Why not collaborate?

Maythux
  • 84,289
Martin R.
  • 446

2 Answers2

23

A more efficient question would be: Why there is so many distributions that look the same except for the logo!

Even though this may have some disadvantages as you said of reinventing the wheel, but this has many advantages. This is freedom which Linux and open source stands for.

This is power of Linux. The diversity, you can find many alternatives for the same application.

This is not weakness instead this is powerful, a person who uses Linux can have many choices to work on.

Plus, each software comes from a different background with different programming language, also developers have their personal attitude.

An important point to list here, that most of applications in Linux are community based, with non-profit developers which means those developers don't have a single company to work in, though collaboration needs union and founding a company to sponsor and direct.

Another note: Also you should note that in really most of these applications are not really reinventing the wheel, most of them depend on the same core packages, differences mostly on appearance. For example, k3b and brasero are both depend on same core package cdrecord and wodim.

Maythux
  • 84,289
  • 1
    It seems however that you do not have the choice to use Brasero in KDE or K3B in GNOME. – Hagen von Eitzen May 29 '15 at 13:15
  • This is not completely true, you can use both – Maythux May 29 '15 at 14:17
  • 1
    That freedom does have a weakness, however. –  May 29 '15 at 18:08
  • I think this is a load of crap. We need to get beyond the age of operating systems and get into the age of the app already. OS's are meaningless and should be meaningless (obviously in context). The app is what people care about. The app gives the functionality and the app needs to rule all. This is why I love the web and hope web apps only get more powerful. Who cares what OS you want to use the app is the key. – user441521 May 29 '15 at 18:57
  • 3
    @user441521 The move towards "web apps" is only moving the problem from the OS+desktop to the variations in browsers (that are becoming far too complex, IMO). – user2338816 May 29 '15 at 20:21
  • 1
    @user441521 So having a choice between K3B or Brasero is terrible, but having a choice between Spotify or Pandora is okay? – user253751 May 30 '15 at 13:42
13

The short answer is because (at least in theory) all the software runs better, more efficiently and more cohesively that way.

The long answer is that the aim of most desktop environments is to provide for most of a user's basic needs and the people who work on these projects have different ideas about how to get this job done. So, they're all creating software that represents their ideals for meeting those needs.

GNOME has Gedit, Brasero and other GTK-based software because it will run smoothly, doesn't require additional frameworks and fits in with what the GNOME developers see as an ideal desktop experience. Meanwhile, KDE has software that's based on QT (another software framework) and is representative of what the KDE folks view as being the better desktop experience.

The reason they're not making software together is because their views of design are totally different. Developing software is both art and science. GNOME, KDE, Unity and any other desktop you can think of is developed by people who are creating what they want to see on the desktop.

And on top of all of that, as I hinted at before, this stuff is all built on different frameworks. GNOME uses GTK, KDE uses QT, etc. When you build everything for the same framework and environment it fits together really nicely and it usually runs a little better. So, keeping the software "in the family" helps development in that aspect as well.

I just use the default Ubuntu desktop (Unity) and I usually don't care if an app is KDE or GTK-specific, though. Whatever software works best for me is what I'll use. You always have that lovely freedom of choice with Ubuntu and Linux in general!

  • Promote, push, and create web apps and you won't have to worry about your OS and it's apps. – user441521 May 29 '15 at 18:59
  • 1
    Each desktop's ideals are described in their respective HIG (Human Interface Guidelines) documentation, e.g: https://developer.gnome.org/hig/stable/, https://techbase.kde.org/Projects/Usability/HIG – ninjalj May 29 '15 at 19:16
  • 1
    @user441521 yeah, you'll have to worry about using an up-to-day browser from the list of supported ones and see all that ugliness of GUI widgets you can't control (and use software you can't control). And in general, a browser is yet another layer of abstraction^Wobstruction and dependencies, which you'd be forced to have. That's just plain ugly. – Ruslan May 30 '15 at 11:50
  • 1
    @user441521 "Promote, push, and create native apps and you won't have to worry about your browser and its apps" <- that "logic" applies in both directions, and is equally useless in both. – user253751 May 30 '15 at 13:48
  • @user441521 With web apps, you have to worry about whether the user has enough app cache and IndexedDB space to keep your app running offline, inability to use certain input and output devices connected to the user's computer, features that Apple intentionally leaves out of Safari for iOS, features not in old IE, etc. – Damian Yerrick May 30 '15 at 17:53