9

I can't find any proprietary applications that follow elementary's design guidelines.

If I were to create one, what should I keep in mind? Which technologies could I use to create one without breaking any licensing rules?

11
+50

Please keep in mind I'm no expert: I gathered some information about closed source software, but I cannot guarantee completeness or even truth.

  • GLib, GTK+, Granite and Vala are licensed under the LPGL. Here is the TL;DR for this license. When your application is dynamically linked to these libraries (which is default when you build an application for elementary OS / Linux in general), you do not have to disclose your source code:

    Derivative works (including modifications or anything statically linked to the library) can only be redistributed under LGPL, but applications that use the library don't have to be.

  • While the basic libraries I mentioned (which are necessary for creating an elementary OS app) are licensed under LPGL, others might not. So if you are looking for advanced functionality in additional libraries, you should be really careful about the GPL license. The GPL itself requires you to open your source code for every owner of your application and it "infects" software which is using it. So you'd have to release your app under the GPL as well.

  • Some GPL-licensed projects do provide a GPL linking exception. So, if in doubt, message the developers and ask about their stance.

One thing you should keep in mind though: Linux users are used to open source software. While the closed source state of some software is accepted / tolerated for various reasons (for example nVidia/AMD drivers or Google Chrome), people might reject the idea of a "simple" application being closed source.

1

There actually are quite a few apps that were made for elementary OS, and there are a couple of sites that aggregate them, mainly here and here.

Some devs also showcase their apps on Google+ community page.

If you want to develop your own app, there's an official guide that helps you do that.

As for the technologies - if you want your apps to blend in as much as they can, you should use Granite, and by extension Vala. If you want your app to behave well (but not perfectly) on multiple systems, you should use the latest GTK and the language of your preference.

  • 4
    good answer, only the licensing situation is missing. – davidak Jul 1 '15 at 13:03
  • I said that there are no proprietary applications created for elementary OS at the moment. I'm more than aware of everything you've said, but that still doesn't even remotely answer my question. – r3bl Jul 2 '15 at 2:31
  • @r3bl I'm sorry for misunderstanding you then – pawel.ad Jul 2 '15 at 9:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.