All this talk recently of the boneheads over at Firefox adding an EULA (they 
are not usually boneheads, but are this time) has me revisiting an idea that I 
had some time ago.  My plate is extremely busy right now, so if anyone wants to 
steal it, feel free.  As a matter of fact, I encourage someone to steal it.  
Enhance it all you want.  I just hope somebody will see the advantages this 
would bring, and build it.

The idea is focused around the nearly constant, age old, arguments that erupt 
in the Linux community over licensed software.  Arguments over fonts, codecs, 
etc.  Newbies especially get frustrated when Linux fonts are not quite as nice 
as those commercial ones used on Mac and Linux, printer drivers are missing, or 
the ability to play certain music and videos is limited.  So, why do we not 
provide that?  Simple, licensing.

Here is my proposal --

Phase One -
In the first phase, we set up a repository to hold all the fonts and codecs and 
other licensed stuff.  Think of this in the same exact way that Apple and 
Microsoft does it, only better, because in the Linux tradition, you only 
subscribe to it if you want it, its not forced on you like the other platforms. 
 APT gets its updates via http, so doing a paid subscription model should be 
very straight forward.  I am thinking that this should be easily done for say 
$30 per Ubuntu release.  The sources.list file will simply have to have a line 
like:

   deb http://joeuser:[EMAIL PROTECTED]/ubuntu intrepid licensed

Next we create a special package we can call ubuntu-desktop-licensed that will 
automatically include all of the licensed and commercial software to provide a 
Windows-esk experience (minus the viruses and constant crashing) to the Ubuntu 
desktop.  It could even be a simple add to the install.  A check box that 
describes all of the "features" of the commercial service with a checkbox that 
must be opted into to enable, and a warning that the service must already be 
set up to prevent errors.

This could be implemented tomorrow with no structural changes to Ubuntu or 
Linux.  Phase two will require a few minor structural changes, and is why it is 
put off for later.  Lets do what we can NOW, then work on the enhancements.



Phase two -
Its not the commercial software in Windows that irritates me as much as the 
complete duplication of services and lack of central license management.  
Windows does not have anything like APT (they have several bad attempts, but 
nothing that really compares).  I would like to see a central software, license 
and update management that is basically an extension of Synaptic.  But, there 
would need to be a few changes.  It would work like so:

  * Commercial software (Photoshop anyone?) would be placed in a special 
repository that will include at least 15 or 30 days of trial use.  This use may 
be full featured or restricted use as the software vendor requires.  It will 
operate this way without a license according to the trial period.  The packages 
should be standard .deb packages that can be installed or uninstalled in the 
normal way.

  * Trialware should always behave as a file viewer, and exporter.  This has 
two positive effects: first is that software never gets in a state where the 
end users has moved on to another product but the files are not compatible with 
the new software; and documents are viewable (though probably not editable) by 
people that do not otherwise use that product.  By having an export feature 
(assuming the file has not been locked as read-only with a password, and that 
password is not known) I should be able to move a document between different 
software packages.  (I know, idealism, but I can dream)

  * A "License Manager Service" will be written as a system daemon.  I am 
thinking for enterprise customers, an LDAP backed option could really start 
going after Microsoft's Systems Management Server.  The LMS would have the 
following interface:

    - List: List all software licenses on the system

    - Retrieve: Retrieve the license for a given package

    - Backup: Store all license information in a backup file so the system can 
be easily restored from a complete re-install

    - Restore: ummm duh

    - Add: Software can add a new license to the database

    - Renew: Software can renew its license information to extend the effective 
date of the license

    - Disable: License info should probably never be deleted for historical 
purposes, but it should be able to be disabled.

    - Warn: Warn the end user of any software whose license is about to expire, 
this should be configurable but 90 days, 60 day, 30 day, 15 day, 5 days, and 1 
day would be good default periods to look for.

    - Validate: check a license for validity

    - Update_Validate: check if the given update would invalidate this license 
(see below, used for update manager)

  * While all free/maintenance updates should be done via the normal APT 
process, commercial software imposes a new problem... not all upgrades are free 
and automatic.  Therefore, the update process will need to be adjusted 
slightly.  The new process would work like this:

    - Check to see if there is an update, if not continue as normal

    - Check to see if the package has a commercial license, if not continue as 
normal

    - If there is a license, and there is an update, check to see if the 
license covers the new updated version, if so, update as normal

    - If there is a license, there is an update, and an updated license is 
required, do not upgrade

  * Once the normal upgrade has been performed, a license checker (similar to 
the existing update notifier) checks to see if any software has a version 
upgrade requiring a new license.  If so, it notifies the user.

To upgrade commercial software, simply update the license and let APT upgrade 
and keep the software up to date (since the third criteria above is now met).  
The changes to the existing APT is trivial once the license manager is in 
place.  And the license manager is not all that complicated... its just a 
database manager with a few key fields, and a blob to hold the binary license 
the software will require.

Not only would this make porting commercial software from Windows to Linux much 
easier, it should make developing new commercial software for Linux much 
easier.  When boxed software can be sold in Best Buy and Circuit City that is 
built for, or includes support for Linux, Linux will gain so much in legitimacy 
in the eyes of the general public.  This could be a great first step to 
achieving this.  I only wish I had the time to do it myself.

Kevin Fries

-- 
Ubuntu-devel-discuss mailing list
Ubuntu-devel-discuss@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss

Reply via email to