COPYING 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. COPYING
  2. =======
  3. Describes the terms under which Nuttx is distributed. A copy of the BSD-
  4. style licensing is included in this file. In my words -- I believe that you
  5. should free to use NuttX in any environment, private, private, commercial,
  6. open, closed, etc. provided only that you respect the modest copyright
  7. notices as described in license (below), respect Trademarks, and include a
  8. copy of the BSD license. Please feel free to contact me if you have any
  9. icensing concerns.
  10. Tool Licenses
  11. -------------
  12. Tools under the nuttx/tools directory are not intended for binary
  13. distribution. You may find other licensing on individual tools in that
  14. directory. If you intend to redistribute these tools in binary form, please
  15. respect the individual license of each tool as identified in the file header
  16. of the tool source files.
  17. Copyright Date Notation
  18. -----------------------
  19. Copyright information is provided in the header of each file. This
  20. copyright information includes the name of the copyright holder and the
  21. year(s) in which copyrighted additions to the file were made to the file.
  22. A comma (',') is used to separate years in the list of years. A hyphen ('-')
  23. is used as a more compact notation when additions were made over several
  24. consecutive years. So for example, "2007, 2011" would mean that copyrighted
  25. additions were made during the years of 2007 and 2011 whereas "2007-2011"
  26. would indicate copyrighted additions in the years 2007, 2008, 2009, 2010,
  27. and 2011.
  28. Copyright Line Continuation
  29. ---------------------------
  30. Copy information which exceeds the usable line lengh may be broken and
  31. continued on the following line, such as:
  32. Copyright (C) 2007-2010, 2012, 2014-2015, 2017 Gregory Nutt. All
  33. rights reserved.
  34. NuttX
  35. =====
  36. License for NuttX in general (authorship and copyright dates on individual
  37. files will vary):
  38. /****************************************************************************
  39. * directory path/filename
  40. *
  41. * Copyright (C) 2007-2019 Gregory Nutt. All rights reserved.
  42. * Author: Gregory Nutt <gnutt@nuttx.org>
  43. *
  44. * Redistribution and use in source and binary forms, with or without
  45. * modification, are permitted provided that the following conditions
  46. * are met:
  47. *
  48. * 1. Redistributions of source code must retain the above copyright
  49. * notice, this list of conditions and the following disclaimer.
  50. * 2. Redistributions in binary form must reproduce the above copyright
  51. * notice, this list of conditions and the following disclaimer in
  52. * the documentation and/or other materials provided with the
  53. * distribution.
  54. * 3. Neither the name NuttX nor the names of its contributors may be
  55. * used to endorse or promote products derived from this software
  56. * without specific prior written permission.
  57. *
  58. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  59. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  60. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  61. * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  62. * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  63. * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  64. * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  65. * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  66. * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  67. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
  68. * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  69. * POSSIBILITY OF SUCH DAMAGE.
  70. *
  71. ****************************************************************************/
  72. FAT Long File Names
  73. ===================
  74. NOTE: If CONFIG_FAT_LFN is defined in your NuttX configuration file, then
  75. there may be some legal, patent issues. The following was extracted from
  76. the entry "File Allocation Table from Wikipedia, the free encyclopedia:
  77. "On December 3, 2003 Microsoft announced it would be offering licenses
  78. for use of its FAT specification and 'associated intellectual property',
  79. at the cost of a US$0.25 royalty per unit sold, with a $250,000 maximum
  80. royalty per license agreement.
  81. o "U.S. Patent 5,745,902 (http://www.google.com/patents?vid=5745902) -
  82. Method and system for accessing a file using file names having
  83. different file name formats. ...
  84. o "U.S. Patent 5,579,517 (http://www.google.com/patents?vid=5579517) -
  85. Common name space for long and short filenames. ...
  86. o "U.S. Patent 5,758,352 (http://www.google.com/patents?vid=5758352) -
  87. Common name space for long and short filenames. ...
  88. o "U.S. Patent 6,286,013 (http://www.google.com/patents?vid=6286013) -
  89. Method and system for providing a common name space for long and
  90. short file names in an operating system. ...
  91. "Many technical commentators have concluded that these patents only cover
  92. FAT implementations that include support for long filenames, and that
  93. removable solid state media and consumer devices only using short names
  94. would be unaffected. ..."
  95. This Wikipedia entry has been updated with recent legal decisions in favor
  96. of Microsoft. Refer to:
  97. https://en.wikipedia.org/wiki/File_Allocation_Table#Patents
  98. So you have been forewarned: Use the long filename at your own risk!
  99. uIP
  100. ===
  101. Many lower-level networking components of NuttX derive from uIP which
  102. has a similar BSD style license:
  103. Copyright (c) 2001-2003, Adam Dunkels.
  104. All rights reserved.
  105. Rhombus Math Library
  106. ====================
  107. The math library used in NuttX derives from the Rhombus OS by Nick Johnson
  108. (with many, many addtions). The Rhombus OS is/was distributed under the ISC
  109. license. The ISC licsense is a permissive license that allows people do
  110. anything with your code with proper attribution and without warranty. The
  111. ISC license is functionally equivalent to the BSD 2-Clause and MIT licenses,
  112. removing some language that is no longer necessary.
  113. IGMP
  114. ===
  115. IGMP support, if enabled, adds additional logic by Steve Reynolds:
  116. Copyright (c) 2002 CITEL Technologies Ltd.
  117. All rights reserved.
  118. The HID Parser in drivers/usbhost
  119. =================================
  120. Adapted from the LUFA Library (MIT license):
  121. Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com)
  122. dean [at] fourwalledcubicle [dot] com, www.lufa-lib.org
  123. Permission to use, copy, modify, distribute, and sell this
  124. software and its documentation for any purpose is hereby granted
  125. without fee, provided that the above copyright notice appear in
  126. all copies and that both that the copyright notice and this
  127. permission notice and warranty disclaimer appear in supporting
  128. documentation, and that the name of the author not be used in
  129. advertising or publicity pertaining to distribution of the
  130. software without specific, written prior permission.
  131. The author disclaim all warranties with regard to this
  132. software, including all implied warranties of merchantability
  133. and fitness. In no event shall the author be liable for any
  134. special, indirect or consequential damages or any damages
  135. whatsoever resulting from loss of use, data or profits, whether
  136. in an action of contract, negligence or other tortious action,
  137. arising out of or in connection with the use or performance of
  138. this software.
  139. Certain functions in the NuttX C-library derive from other BSD-compatible
  140. sources:
  141. fs/nfs
  142. ======
  143. NFS:
  144. Copyright (c) 1989, 1991, 1993, 1995 The Regents of the University of
  145. California. All rights reserved.
  146. and RPC also has:
  147. Copyright (c) 2004 The Regents of the University of Michigan.
  148. Copyright (c) 2004 Weston Andros Adamson <muzzle@umich.edu>.
  149. Copyright (c) 2004 Marius Aamodt Eriksen <marius@umich.edu>.
  150. The University of Michigan uses a modified BSD license equivalent to
  151. the NuttX license. The University of California code uses the original
  152. BSD license and requires that I state the following:
  153. "This product includes software developed by the University of
  154. California, Berkeley and its contributors."
  155. fs/spiffs
  156. =========
  157. The MIT License (MIT)
  158. Copyright (c) 2013-2017 Peter Andersson (pelleplutt1976<at>gmail.com)
  159. Permission is hereby granted, free of charge, to any person obtaining a copy of
  160. this software and associated documentation files (the "Software"), to deal in
  161. the Software without restriction, including without limitation the rights to
  162. use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
  163. the Software, and to permit persons to whom the Software is furnished to do so,
  164. subject to the following conditions:
  165. The above copyright notice and this permission notice shall be included in all
  166. copies or substantial portions of the Software.
  167. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  168. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
  169. FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
  170. COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
  171. IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  172. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  173. strtod()
  174. ========
  175. Copyright (C) 2002 Michael Ringgaard. All rights reserved.
  176. Copyright (C) 2006-2007 H. Peter Anvin.
  177. dtoa()
  178. ======
  179. If you enable floating point conversions with CONFIG_LIBC_FLOATINGPOINT,
  180. then some files with an unmodified BSD license will be included. That
  181. license is similar to the above (modified) BSD license, but has an
  182. additional requirement that I state the following:
  183. "This product includes software developed by the University of
  184. California, Berkeley and its contributors."
  185. libc/string/lib_vikmemcpy.c
  186. ===========================
  187. If you enable CONFIG_MEMCPY_VIK, then you will build with the optimized
  188. version of memcpy from Daniel Vik. Licensing information for that version
  189. of memcpy() follows:
  190. Copyright (C) 1999-2010 Daniel Vik
  191. This software is provided 'as-is', without any express or implied
  192. warranty. In no event will the authors be held liable for any
  193. damages arising from the use of this software.
  194. Permission is granted to anyone to use this software for any
  195. purpose, including commercial applications, and to alter it and
  196. redistribute it freely, subject to the following restrictions:
  197. 1. The origin of this software must not be misrepresented; you
  198. must not claim that you wrote the original software. If you
  199. use this software in a product, an acknowledgment in the
  200. use this software in a product, an acknowledgment in the
  201. product documentation would be appreciated but is not
  202. required.
  203. 2. Altered source versions must be plainly marked as such, and
  204. must not be misrepresented as being the original software.
  205. 3. This notice may not be removed or altered from any source
  206. distribution.
  207. libs/libc/math
  208. ==============
  209. If you enable CONFIG_LIB, you will build the math library at libc/math.
  210. This library was taken from the math library developed for the Rhombus
  211. OS by Nick Johnson (https://github.com/nickbjohnson4224/rhombus). This
  212. port was contributed by Darcy Gong. The Rhombus math library has this
  213. compatible MIT license:
  214. Copyright (C) 2009-2011 Nick Johnson <nickbjohnson4224 at gmail.com>
  215. Permission to use, copy, modify, and distribute this software for any
  216. purpose with or without fee is hereby granted, provided that the above
  217. copyright notice and this permission notice appear in all copies.
  218. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  219. WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  220. MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  221. ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  222. WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  223. ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  224. drivers/video/ov2640
  225. ====================
  226. WARNING: Some of the information in the data tables in this file came
  227. from other projects with conflicting licenses: Linux and ArduCAM. Those
  228. both have GPL licenses. I am not sure if it is proper or not to lift the
  229. content of those tables and still retain this BSD license. I am guessing
  230. so, but I am not a copyright attorney so you should use this driver in
  231. products at your own risk.