[Tinyos-alliance] License proposal
rob at moteiv.com
rob at moteiv.com
Tue Mar 7 03:50:58 PST 2006
Sorry for the late email, but perhaps you will at least have a chance to glance
at the proposal below before the meeting. David or Lama, could you send out
the bridge info again -- my email archives are not accessible at the moment.
Thanks,
Rob
The goal of the TinyOS licensing is to encourage participation of individuals
and institutions in development and usage of TinyOS. To that end, the TinyOS
should provide:
- means of encouraging individual and institutional contributions
- adequate legal protection for the contributors
- minimal overhead associated with adopting the license.
As we are committed to the open source philosophy, the main avenue for
encouraging the contributions is recognition. Recognition as noted in the
code is important -- that recognition spreads among the peers of the
contributor, and is highly valueable. However, as the code comprising TinyOS
will be used in, often proprietary, systems deeply embedded into the
environment, it is important that the acknowldgements be given by a wider
community of users and developers. I argue that the most appropriate place to
achieve that is to acknowledge the contributors in the end user
documentation. That strikes a balance between advertisements and marketing
materials (where the individual contributions would perhaps dilute the brand
of the organization marketing the end application), and just the source code
(where no one but the developers would be aware of this).
The adequate legal protection refers broadly to warranties and liabilities
arising from using the code, use of patents that may be underlying
the code, and branding issues. Moteiv's license, includes two
provisions in addition to the standard (open) software disclaimer. The first
clause dictates that in the event that a suit was brought against a
contributor, it should be filed in the preferred venue of the contributor; I
believe this is particularly important for small companies in this community,
as they operate with very limited travel and legal budgets. The second clause
in Moteiv's license explicitly spells out the condition for the termination of
the license. As a patent policy I would recommend following Lama's
suggestions on the subject: RAND terms, no mandatory disclosure, etc. When
it comes to branding, there is an opportunity for both individual contributors
and for the TinyOS community to build upthe brands involved. I would propose
that the alliance retains the right to grant the use of TinyOS name and logo
for promototional purposes, the contributors shall retain the right to choose
whether their name may be used in promoting the product.
Minimal overhead with adopting the license has two facets: organizational and
operational. For contributors and users the license of TinyOS may need to be
approved by a legal department; organizational facet refers to the ease of
accepting the license by the organization. By operational facet we mean the
ease of use and compliance with the licenses. Over the past few years
(basically ever since Netscape decided to open source their browser, in 1998)
open source licenses have received considerable scrutiny from various
corporate legal departments. I would advocate adopting the clauses standard to
the widely adopted open source licenses. Two candidates are at the forefront:
Apache license and the New BSD license. I would advocate in the interest of
simplicity that both of these licenses be allowed for both the core and
working group charters. Other benefits of these licenses are: they are
compatible with each other, they do not pose a threat of IP dillution as
result of mandatory royalty free patent license, and they are compatible with
GPL.
TinyOS has a wide range of contributors. Often a simple TinyOS application
will include components written by authors all over the world; the system must
provide adequate aid to the programmer building and deploying applications to
comply with the license terms. TinyOS build tools already scan the source
files to generate the documentation; data relevant to the licensing of the
code, such as copyright date, copyright holder, and license type can be
extracted by the same mechanism as the documentation generation. In addition
to the already present @author tag, I would advocate the addition of
@copyright and @license to identify the copyright holder and the license type.
The copyright holder may be an individual, or an institution; the copyright
stays with the individual contributor. For the components in the core, the
license MUST be one of the licenses approved by the TinyOS Alliance. As a
As a matter of policy, we advocate that the simple bug fixes to the existing
code may merit an addition to the @author tag. The @copyright and @license on
a file may be changed only in the event of transfer of maintenance or in the
presence of significant contribution to the file (e.g. conforming to new,
non-trivial interfaces; changing StdControl to SplitControl does not count).
To comply with all of these terms, the two acceptable licenses are presented
below.
@copyright -- copyright holder
@licence -- TinyOS public
TinyOS Public Software License
=======================
Version 1.1
Copyright (c) @date @copyright. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if
any, must include the following acknowledgment:
"This product includes software developed by @copyright"
This acknowledgment must appear in the software itself, if and
wherever such third-party acknowledgments normally appear.
4. The names "TinyOS" and "@copyright" must not be used to
endorse or promote products derived from this software without prior
written permission. For written permission, please contact
info at moteiv.com.
5. Products derived from this software may not be called "TinyOS", nor
may "TinyOS" appear in their name, without prior written permission of
the @copyright.
6. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MOTEIV CORPORATION OR ITS
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7. Any action or suit relating to this software may be brought only
in the courts of a jurisdiction wherein the Moteiv resides or in which
Moteiv conducts its primary business, and under the laws of that
jurisdiction excluding its conflict-of-law provisions. The application
of the United Nations Convention on Contracts for the International
Sale of Goods is expressly excluded. Any use of this software outside
the scope of this license or after its termination shall be subject to
the requirements and penalties of the U.S. Copyright Act, 17 U.S.C.
§101 et seq., the equivalent laws of other countries, and
international treaty. This section shall survive the termination of
this license.
8. All rights under this license shall terminate upon breach of any
of the material terms or conditions of this license and a subsequent
failure to cure such breach in a reasonable period of time after
becoming aware of such noncompliance. If all rights under this license
terminate, use and distribution of this software shall cease as soon
as reasonably practicable. However, any obligations under this license
to the software shall continue and survive.
====================================================================
NewBSD style license (that's the current Intel license):
Copyright (c) <YEAR>, <OWNER>
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the <ORGANIZATION> nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
More information about the Tinyos-alliance
mailing list