Software License

saifikhan's picture

A License is the permission granted by a competent authority to exercise a certain privilege that, without such authorization, would constitute an illegal act, a Trespass or a Tort. A License is difference from a permit (which is a time bound permission and expires on a certain date or when task is complete). This is the general definition of a License and i'll try to make is specific in the context of Software, wherein we have Software License.

A software license involves two parties - software publisher (eg. TWINCLING Society) and consumer (eg. the end-user individual or organization) and a set of terms and conditions set forth in terms of what the end-user can do or cannot do with the piece of software.

All our discussion here will focus on Open Source licenses. In order to highlight various aspects related to licensing, i've created a table to work with and thus simplify the entire discussion.

Party Party of First part ('Licensor') Party of Second part ('Licensee')
Referred to as Software Publisher Software Consumer
Software artifact the 'Work' the 'Derivative'
Owner 'Copyright' owner 'Copy' owner
Ownership resides for owned code resides for received code
Rights to Usage  yes yes (no covenants) 
Rights to Modify  yes  yes (with covenants)

The 'Right to Usage' of Open Source software by party of second part is automatic and does not require the recipient to even accept the license.

It is the 'Rights to Modify' which is the additional right. Should the user want to exercise these rights, then the 'entire terms and conditions' of the License are enforced on the recipient and requires the Party of Second part (ie. user) to accept it and in effect become a 'Licensee' !

Once the Licensee 'exercises' the 'Rights to Modify', essentially a "derivative work" is created !

If the user doesn't accept the 'entire set of terms and conditions', then the license is terminated and there is no remedy !

If the user apparently accepts the 'entire set of terms and conditions' and then violates one or more clauses set forth, then the license is terminated and there is no remedy !

Now that we have the basic understanding, lets move on to consider what the terms and conditions usually are. When a "derivative work" is created there are restrictions in terms of:

  • source code availability
  • enforcing Copyright
  • enforcing Patents
  • product / library name
  • submission of contributions
  • disclaimer of warranty
  • limitation of liability
  • acceptance of warranty

All Twincling projects, products, toolkits, libraries, run times and scripts will be released under Apache Software License 2.0 (ASL 2.0).

Let's consider the above mentioned points within the context of ASL 2.0 and our products.

Clause under consideration (Party of Second Part) Licensee Recipient of Licensee's work
License information provide copy of ASL 2.0 license provide copy of ASL 2.0 license
source code (Work) distribute in source or object form distribute in source or object form
source code (Derivative - source changes) modified files must carry prominent notice stating Licensee changed the files. modified files must carry prominent notice stating Licensee (ie. Recipient) changed the files.
Submission of Contributions (Work or Derivative) under ASL 2.0, without any additional terms or conditions Licensee can set forth own additional terms or conditions.
Product / Library name same name cannot be used Licensee can set forth own terms and conditions.
Copyrights  non-exclusive, no-charge, royalty free, irrevocable copyright license to create Derivative work. Licensee can add one's own copyright statement.
Trademarks / Service marks same TM/SM cannot be used No attribution necessary or required, except as required in describing the origin of the Work.
Patents  cannot enforce patents. on violation license terminates without any remedy, as on date of filing of litigation. Licensee can set forth own terms and conditions.
Disclaimer of Warranty Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND. Licensee can set forth own terms and conditions.
Limitation of Liability Licensor or Contributor shall not be liable to Licensee for any damages as a result of this License or out of the use or inability to use the Work. Licensee can set forth own terms and conditions.
Acceptance of Warranty

Licensee may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations.

Licensee is acting on its own behalf and on its sole responsibility.

Licensee agrees to indemnify, defend, and hold each Contributor harmless for any liability incurred by or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

Licensee can set forth own terms and conditions.

 As can be seen very clearly from the above table, TWINCLING Licensing strategy based on Apache Software License 2.0 affords

  • rights and proper protection to 'Contributors' to TWINCLING Software artifacts (ie. Work).
  • recognition of Patent portfolio of 'Contributors' and grant of non-exclusive, royalty free, irrevocable patent license to the 'Work'.
  • termination of patent license (sans remedy) to the 'Work' in event of Licensee initiating a patent litigation.
  • access to both "non-profit" and "for profit" entities to create larger work out of or based on TWINCLING software artifacts ie. the 'Derivative'. This creates a large eco-system of users and participants.
  • revenue streams for the 'Work' or the 'Derivative' through acceptance of warranty clause, which would include charging a fee for software support, training, fixes and enhancements.
  • compatibility with software artifacts released under GPL v3 license.

Creating a larger ecosystem of users, contributors and partners is the key to spreading the idea with the implementation and has the potential to open up innovation to create new products, services and revenue opportunities.

At TWINCLING Society, our focus has always been to promote a pragmatic and technology focussed approach to gain leverage in the fast changing IT scenario and keeping an eye on creating a GLOBAL impact !

Having said that, let me put down a few FAQ questions. 

  • Can any entity download and use TWINCLING software code ? Yes.
  • Can any entity download the code and  use it part of its  closed source code ?  Yes.
  • Can any entity download the code, add its enhancement and make it closed source ? Yes.
  • Can any entity download the code and use it in a GPL licensed project ? Yes.
  • What is the use of our Licensing strategy when an entity can use it without contributing anything back in return ? Our strategy is to reach out to as many interested entities as possible and we don't change that because of a few rotten apples !

The key point for all of us to understand is that 'spreading the word quickly enough' and 'time to market' is of essence for both 'non-profit projects and 'for-profit' entities. Time is always money ! Even if somebody doesn't charge anything (a useful strategy to get the customer interested or atleast take a look), time is of great essence and very much in a increasingly hyperlinked world. Quickly incorporating customer suggestions or ideas help build the right thing far ahead of all commercial market research and sales pitch.

At TWINCLING Society, we're trying to build infrastructure software products and they need to get to as many users as possible to become 'de-facto' standard !

 

Recent comments