It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How can I protect my plugin with license?

Ilerian Co. Ltd. Jul 07, 2011

I want to develop confluence and JIRA plugins.
How can I protect my plugin with license?
I want licensing with checking the allowed user of the license key and allowed user of confluence/JIRA. (like greenhopper).

Is there a library/tool for license validation and automatic license generation ?


7 answers

1 accepted

4 votes
Answer accepted
Kinto Soft Jul 08, 2011

As licensing is a critical part so you might also want to write your own solution and take full control of your licensing process.

Nowadays, most licenses are based on the same idea like signing emails:

1) Generate license content (like an email)

2) Sign content using a private certificate at server side (Your licensing server)

3) Use the public key of your private certificate to validate (from your plugin) the content of the issued license.

As JIRA plugins are written in Java then you need a crypto Java library like provided by http://www.bouncycastle.org/ and write your onw license server by using Tomcat+Java web app.

Of course, that might be a bit hard for begginers, so you may also use some free Java library providing more high level licensing features. Basically, those sort of libraries are built on top of Bouncycastle adding some tricks to detect licensing manipulation.

Furthermore, as Java is a quite easy to get code from binaries then I would say that obfuscate your code (mainly license validation) might also help you to protect your your plugin.

I used that approach to write my own license server and protect my plugin.

7 votes
Colin Goudie Jul 07, 2011

Checkout the Plugin Licensing Manager from Adaptavist

https://www.adaptavist.com/display/Plugins/Licensing+Manager

It is still very new but looking great

3 votes

At AtlasCamp in September 2011, Atlassian announced efforts underway for the future Atlassian Marketplace, including licensing for your plugins.

In the meantime, AppFusions is happy to help you along fast - contact me at ellen@appfusions.com

Here's a library we used that we opened for the community as well

http://wiki.customware.net/repository/display/AtlassianPlugins/Licensing+Support+Libraries

1 vote
Holger Schimanski Mar 26, 2012

With the release fo the Atlassian Marketplace there is a standard way for license management and also invoicing, that is supported by Atlassian and used in there own products. So I would recommend to use that mechanism.

More information can be found at https://developer.atlassian.com/display/MARKET/Atlassian+Marketplace.

1 vote
Ben Woskow Atlassian Team Mar 27, 2012

As Ellen mentioned, you can publish your licensed plugin on the Atlassian Marketplace. In doing so, you would use Atlassian's Licensing API. Using our Licensing API should provide the easiest and fastest way to get your plugin licensed and sold, while providing your customers with a unified, consistent license management expierience.

The Marketplace is now accepting submissions of licensed plugins. You can specify your plugin to be Marketplace-ready when publishing your plugin version to the Plugin Exchange.

0 votes
Ilerian Co. Ltd. Jan 19, 2012

We tried PLM first but somehow we could not overcome the problems on production. May be we did something wrong.

We had a license generator prepared with TrueLicense and Proguard.

We modified it for our plugin and prepared a License generator executable. Here is the working mechanism (main principle is like Pablo said).

1. Client downloads and installs the plugin.

2. Client gets the Server ID from plugin configuration page and fills the license request form on our web site.

3. Our web site gets the user count, server id, update deadline and license expiry information and send a request to GSS Server on Private Network.

4. Our GSS Server gets the XML request and converts it to a command and runs the license Generator. Then returns the output (license content) to the web site. (GSS Server converts an executable to a service).

5. By the way, license generator embeds the server_id, update expiry, license expiry and user data into the license data.

6. Web site provides the license to the user as a file.

7. User installs the license through plugin configuration page.

8. Plugin config page shows the license content.

In fact, using TrueLicense is a little bit hard because of lack of documentation. We met some obstacles but overcame with some tricks. Thanks to quisapps developers for sharing an osgi solution. If anybody needs, I can help on this.

We may check and use bouncycastle later.


Suggest an answer

Log in or Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Posted in Off-topic

Disney Live Action Reboots: Are you for or against?

Happy Friday Everyone! Today marks the international release of Disney's live action version of the animated classic Aladdin. I know that this movie was met with some controversy of over cast...

192 views 21 10
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you