11

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?

2 Answers 2

12
+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.

2

There actually are quite a few apps that were made for elementary OS, and there are a couple of sites that aggregate them, mainly madeforelementary.tumblr.com and quassy.github.io/elementary-apps.

If you want to develop your own app, there's the developer site 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.

3
  • 4
    good answer, only the licensing situation is missing.
    – davidak
    Commented Jul 1, 2015 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
    Commented Jul 2, 2015 at 2:31
  • @r3bl I'm sorry for misunderstanding you then
    – pawel.ad
    Commented Jul 2, 2015 at 9:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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