Welcome Guest.   Make a donation to an author on the site July 30, 2014, 08:06:54 AM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
View the new Member Awards and Badges page.
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1]   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: NANY 2012 Release: Simple Software Licensing  (Read 8826 times)
josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« on: December 29, 2011, 04:05:25 PM »

NANY 2012 Entry Information

Application Name Habanero Simple Software Licensing
Version 1.0.0 - Version 2 is available from the website.
Short DescriptionReally simple software licensing solution designed for microisv and freelance software developers
Official product page
Supported OSes Windows 7, Vista probably Windows XP...
Setup File Download these files to use the application. The latest version can always be downloaded from the official site.
* LicenseManager1.0.1.zip (306.53 KB - downloaded 136 times.) 1.0.1 of the license manager
* LicenseValidator1.0.0.zip (25.69 KB - downloaded 116 times.) 1.0.0 of the license validation component
* LicenseGenerator1.0.0.zip (33.17 KB - downloaded 114 times.) 1.0.0 of the license generation component

Paste the following license information into the license manager using the About menu item.
=====
Product: Habanero Simple Software Licensing, Free, 1.0.1
Serialnumber: bb158d3c-6f1e-455a-82ae-ad190ca96a98
Licensed to: DonationCoder
Valid until: 2012-06-30
5Y40HBB-EF05HJ-EC2TZ6Z-29HF1Q-BTTB72R-Y7JQ0P-76T27XA-X69WD7
=====
System Requirements.Net 4
Author InfoJoshua Anthony has been developing software professionally since the mid 1990s and before that as a hobby for many years on such wonderful platforms as the ZX Spectrum, C64, MSX and others!

Currently he runs his own MicroISV and consulting company developing primarily for Microsoft platforms using .Net but also dabbling in cutting edge mobile HTML5 apps and experimenting with PHP.

Some random ramblings and interesting software development tidbits can be found on his blog.

Just to avoid unnecessary flames - I am a strong believer in permissive licensing, creative commons and open source which is one reason why I have developed this. Most of the licensing solutions that I have found as a small scale developer are in my opinion too expensive, too restrictive, aren't secure enough and try to make the end users life (and the developers) more painful than it needs to be! This is an attempt to change all that!

DescriptionSoftware licensing is tough and if you have little or no experience with cryptography and securing enterprise software systems it is really tough! This solution is designed to provide a good-enough licensing setup to discourage accidental and casual copying of the software without making it difficult for your licensed users to move their licenses to new computers or having to reactivate after a system crash. This licensing solution is also designed to integrate easily with Paypal IPN and Mailchimp webhooks if you want to send out license info via email automatically.

This is actually a product that I am going to sell as part of my regular business, but I recently joined DonationCoder and the NANY 2012 challenge inspired me to try and push something out the door earlier than I had planned. I will also set up a special DonationCoder license in the spirit of the official DonationCoder license (free with periodic renewals, no details on that yet) when this is officially released.

More info about how I think this could be of use for software developers.
FeaturesMilitary Grade encyption/hashing algorithms
Named users with keys or anonymous serial/licenses
Optionally limit license validity
License generation can be automated and integrated with PayPal

More advanced features are on the drawing board but not being implemented yet...
ScreenshotsUpdated screen shots for version 1.0.1


Basic GUI

The following screenshots are the old design but the functionality is the same.

GUI with license file generated


Sample license files
InstallationUnzip package and run exe fileā€¦
Using the applicationThere are three parts to the solution:
* the license manager is the part that you use to create serials and license files
* the licensing component is the part that your code uses to get information about the users license
* the license generator is used for generating licenses from code

More info on all the different components will be coming...
UninstallingDelete files...
Known IssuesNo software licensing solution can be 100% secureā€¦
Reverse engineering of your software (not the licensing solution) is the most likely and easy attack vector.

I have plans for making this solution even more secure by allowing you to embed critical application data inside the license file which would make it much more difficult to crack your software, although nowhere near impossible.




* Screenshot1.png (69.01 KB, 720x531 - viewed 361 times.)

* Screenshot2.png (78.42 KB, 720x526 - viewed 350 times.)
* LicenseManager.zip (35.73 KB - downloaded 113 times.)
* Habanero.Licensing.zip (23.75 KB - downloaded 122 times.)

* Screenshot5.png (104.81 KB, 721x611 - viewed 242 times.)
* LicenseValidator1.0.zip (25.37 KB - downloaded 139 times.)
* LicenseGenerator1.0.zip (33.14 KB - downloaded 139 times.)
* LicenseManager1.0.zip (50.56 KB - downloaded 137 times.)

* screenshot10.png (61.7 KB, 721x608 - viewed 361 times.)
« Last Edit: March 25, 2012, 09:08:21 AM by josant; Reason: Updated reference to latest version, » Logged

JavaJones
Review 2.0 Designer
Charter Member
***
Posts: 2,514



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #1 on: December 29, 2011, 05:31:11 PM »

Oho, this looks quite interesting. How will it integrate with Paypal and Mailchimp? Will there be a web component? Any other integrations planned (e.g. Virtuemart, WorldPay, Authorize.net)?

- Oshyan
Logged

The New Adventures of Oshyan Greene - A life in pictures...
josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #2 on: December 29, 2011, 05:47:38 PM »

Both Paypal and Mailchimp can post signup/purchase data to a web page. I am developing a sample .net web page which uses the license key/file generation to create a user specific license file (the license file is just plain text) based on the variables posted by paypal and mailchimp. The end user can save the file into the directory where the software is installed. Alternatively you could provide an input form inside the application for entering the details of the license and include the license details directly in the email. The settings for the license generation are exported from the license manager in a format that the license generation component can read.

I am planning to look at other integrations, but nothing in the pipe at the moment. Since each api posts different data, formatted in different ways I must choose integrations which are of greatest interest to users of the software... I have worked with Paypal and Mailchimp integration which is why they are out first. I would love to hear if there are more integrations which would be of interest in addition to Paypal, Mailchimp, Amazon payments, Kagi, Virtuemart, Worldpay, Authorize.net?
Logged

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #3 on: December 29, 2011, 05:55:23 PM »

I have looked at the apis of Virtuemart, WorldPay & Authorize.net. Worldpay and Authorized.net seem to support transaction notifications which resemble the Paypal flow so developing integrations for these should be possible.

And thanks for your interest Oshyan!  cheesy
Logged

tranglos
Supporting Member
**
Posts: 1,079



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #4 on: December 29, 2011, 08:15:30 PM »

This is wonderful, Josant, thank you! Great to see the DC spirit in action!

I would so use this if only I had software to protect smiley Alas, I must have looked the other way when they were giving out business hats. But (in my salad-er days) I did look more than once at the available protection solutions, and they're all highly expensive. This is a wonderful gift to DC.
Logged

cranioscopical
Friend of the Site
Supporting Member
**
Posts: 4,166



see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #5 on: December 29, 2011, 08:41:43 PM »

Thanks for your contribution, josant!
Logged

Chris
JavaJones
Review 2.0 Designer
Charter Member
***
Posts: 2,514



see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #6 on: December 30, 2011, 03:29:48 PM »

My company currently uses WorldPay so support for that would definitely increase the likelihood we could use this system. We'd be happy to pay for it too, just that most existing solutions are either very expensive or highly proprietary. Anyway, this is definitely of interest, I'll keep an eye on it. And thanks for sharing it with DC!

- Oshyan
Logged

The New Adventures of Oshyan Greene - A life in pictures...
kyrathaba
N.A.N.Y. Organizer
Moderator
*****
Posts: 3,010



while(! dead_horse){beat}

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #7 on: December 30, 2011, 07:44:41 PM »

josant, looks from your official page like this is a pretty well-developed project. Is it okay to for me to update the title of this thread to contain the word Release?. Basically everyone who has pledged but not yet Released needs to officially release their app, so we can sceencast it and do a writeup.
Logged

Win 7 Home Premium 64bit-SP1 AMD Athlon II X2 220 Socket AM3 (938) @ 2.1GHz 6GB RAM Firefox 26.0
_________________________________________________________________________________________

I'm fighting against patent trolls. Join me and tell your representative to support the #SHIELDAct: https://eff.org/r.b6JJ /via @EFF

My DC page: http://kyrathaba.dcmembers.com | My blog: http://williambryanmiller.com/ | Proofreading Service: http://bit.ly/1fQSqQP

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #8 on: December 31, 2011, 04:05:22 PM »

This will be a late release I am afraid. I have gone on a last minute New Years trip with my family and wasn't able to finish and upload the Donationcoder release of it before we left. I will push this out on Monday afternoon (GMT+1) I can also do a screen cast of how it works on Monday.

Sorry about the delay and Happy New Year to everyone!
Logged

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #9 on: January 02, 2012, 10:02:51 AM »

The first DonationCoder licensed version of this application has now been released.

I'll be creating a screencast of how to use this for simple licensing including validating license validity.
The version number will change to 1.0 before I do the screen cast but everything else will be the same...
Logged

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #10 on: January 03, 2012, 04:08:04 PM »

A Screencast of the application will be posted on the 4th of January.
Logged

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #11 on: January 04, 2012, 11:39:10 AM »

I've posted a screencast demo on youtube:

License Manager Demo
Logged

kyrathaba
N.A.N.Y. Organizer
Moderator
*****
Posts: 3,010



while(! dead_horse){beat}

see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #12 on: January 04, 2012, 07:25:42 PM »

Nice demo!
Logged

Win 7 Home Premium 64bit-SP1 AMD Athlon II X2 220 Socket AM3 (938) @ 2.1GHz 6GB RAM Firefox 26.0
_________________________________________________________________________________________

I'm fighting against patent trolls. Join me and tell your representative to support the #SHIELDAct: https://eff.org/r.b6JJ /via @EFF

My DC page: http://kyrathaba.dcmembers.com | My blog: http://williambryanmiller.com/ | Proofreading Service: http://bit.ly/1fQSqQP

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #13 on: January 04, 2012, 08:20:17 PM »

Thanks! First time posting anything to Youtube.

I'll be adding more screencasts next week of validating licenses from code and generating licenses from code.
Logged

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #14 on: January 17, 2012, 11:05:18 AM »

I have created a new web site for this product and updated the user interface (with a little help from others).

If anyone wants a special DonationCoder license please  thumbs up my site or page on facebook  Wink . Actually just send me a personal message through DonationCoder and I will issue you a special license which you can use with the application.

Feedback and feature requests are most welcome too.
Logged

cranioscopical
Friend of the Site
Supporting Member
**
Posts: 4,166



see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #15 on: January 17, 2012, 02:21:40 PM »

First time posting anything to Youtube.
Nicely done. Simple, clear, informative.  thumbs up
Logged

Chris
40hz
Supporting Member
**
Posts: 10,438



see users location on a map View Profile Read user's biography. Give some DonationCredits to this forum member
« Reply #16 on: January 17, 2012, 02:47:04 PM »

@josant - Very nice product.

I was wondering if you ever considered combining the validator part with a wrapper for a document file.

Ideally, the manager could be a simple utility to drop something like a PDF into it and create a one off license. Then the PDF could be combined with a locked launcher. The document could then only be unlocked and launched the first time by the buyer using the provided license key.

After that however, it would just display a splash screen with an "Exclusively licensed to: {name} call-out which you'd need to click through every time you opened the actual document.

Might be nice too if the file required a reapplication of its license key if it ever got transferred to a different PC.

That could be a real boon to people who produce and sell licensed instructional materials. Would go a long way towards cutting down on casual license violations.

 smiley
Logged

Don't you see? It's turtles all the way down!
Deozaan
Charter Member
***
Posts: 6,270



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #17 on: January 19, 2012, 06:15:14 PM »

Wow. That's neat!

Two days ago an idea popped into my head for a licensing method and I started hacking away at it trying to create one (in mono). I'd guess I'm about halfway done with it now but I sure wish I had seen this first. Thmbsup

Nice work!
Logged

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #18 on: January 21, 2012, 10:55:05 AM »

I have actually been looking at a solution for locking Excel files which would be possible to do with PDFs too, unfortunately Adobe require a $50,000 per year tellme DRM agreement if you add plugins to Adobe reader which restrict access to or encrypt PDFs... So I wont be implementing that anytime soon!

It would be of course be possible to implement the license as an executable file which then opened an embedded PDF - unfortunately you would have to open the pdf through the launcher each time to retain any kind of security. But it should work.

I will create a proof of concept to see what is possible!

@josant - Very nice product.

I was wondering if you ever considered combining the validator part with a wrapper for a document file.

Ideally, the manager could be a simple utility to drop something like a PDF into it and create a one off license. Then the PDF could be combined with a locked launcher. The document could then only be unlocked and launched the first time by the buyer using the provided license key.

After that however, it would just display a splash screen with an "Exclusively licensed to: {name} call-out which you'd need to click through every time you opened the actual document.

Might be nice too if the file required a reapplication of its license key if it ever got transferred to a different PC.

That could be a real boon to people who produce and sell licensed instructional materials. Would go a long way towards cutting down on casual license violations.

 smiley
Logged

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #19 on: January 21, 2012, 10:57:26 AM »

Wow. That's neat!

Two days ago an idea popped into my head for a licensing method and I started hacking away at it trying to create one (in mono). I'd guess I'm about halfway done with it now but I sure wish I had seen this first. Thmbsup

Nice work!

It's not too late to try this instead! I would actually be very interested in knowing if this works in Mono, it should do but you just never know...
Logged

Deozaan
Charter Member
***
Posts: 6,270



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #20 on: January 21, 2012, 08:30:49 PM »

I've got some feedback.

I was just playing with the Habanero License Manager. I filled out some various information and checked some boxes and then suddenly a prompt popped up with a message something like:

"New Version detected, do you want to save it?"

Did that mean that it detected a new version of Habanero and it's asking me if I want to update to it? I had just created the Product Secret, was it talking about a new Product Secret? I had no idea what it was talking about but I clicked yes just to be safe. Then nothing happened. Or if something happened, it appeared as though nothing happened. I now see a LicenseManager.lic in the LicenseManager folder. I'm guessing that's the file it saved to? Is that even what happened due to this dialog prompt?

I hadn't previously saved the file, so I was expecting a prompt for what to name the license file.

I played around with the Manager some more and found out the dialog prompt in the first place was talking about the Product Version I entered in. Perhaps that dialog could be made clearer by saying something like "You added a new Product Version. Would you like to save these changes?"

It's not too late to try this instead! I would actually be very interested in knowing if this works in Mono, it should do but you just never know...

I don't yet know how to import DLLs into mono projects, so this isn't something I could just quickly try. I'll probably take some time to try it out though, but not today. smiley
Logged

josant
Participant
*
Posts: 19



see users location on a map View Profile WWW Read user's biography. Give some DonationCredits to this forum member
« Reply #21 on: January 22, 2012, 03:02:19 AM »

Thanks great feedback - yeah the prompt is a little/very unclear... And probably completely unnecessary, I think it should just save the new product version if it looks valid since the user just explicitly edited it - I will be changing that.

I am also going to add Netsparkle (or other updater) to the application to allow proper automatic updating of the binaries. That will make it very clear when there is a new version of the license manager available and what has been updated.


I've got some feedback.
...
"New Version detected, do you want to save it?"
...
I played around with the Manager some more and found out the dialog prompt in the first place was talking about the Product Version I entered in. Perhaps that dialog could be made clearer by saying something like "You added a new Product Version. Would you like to save these changes?"
...
Logged

Pages: [1]   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.055s | Server load: 0.13 ]