Copywhat?

Licenses, Patents and that weird React thing

Chris Uehlinger / @uehreka

Who cares about Licenses?

Topics

  1. Copyright and Licenses
  2. Patents and Patent Grants
  3. The Facebook/React controversy

Disclaimer

I am not a lawyer, this is not legal advice. This presentation is for entertainment purposes only. If anything you see in this presentation troubles you please retain a lawyer or work with your company's lawyers to find a solution.

Copyright

U.S. Constitution, Article 1, Section 8, Clause 8:

[The Congress shall have power] To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries;

What can be Copyrighted?

  • Literary works (That's us!)
  • Musical works
  • Dramatic works
  • Pantomimes and choreographic works
  • Pictorial, graphic, and sculptural works
  • Audio-visual works
  • Sound recordings
  • Derivative works
  • Compilations
  • Architectural works

Hold on...

How do I Copyright stuff?

You don't have to! Everything you make is automatically copyrighted! For the lifetime of the author + 70 years!

Works made for hire

Broadly speaking (read: overgeneralizing), anything you make for an employer belongs to them, not you. You cannot copy things you did for your job without commiting copyright infringement.

Licenses

If you want to let people freely copy your work, you can tell them that this is OK using a License

How do I license my code?

Which License should I use?

Here are 3 commonly used licenses:

  • MIT (A permissive license)
  • The GNU General Public License or GPL (A FREE AS IN FREEDOM copyleft license)
  • Apache (A permissive license with a patent grant)

The MIT License

Copyright (c) [year] [copyright holders]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

GPL

You can copy my code, but if you release something that was built with my code, you must release your source code.

This license is seen as risky by enterprises who want to sell products without open sourcing them.

Apache

It's like MIT, but with a Patent Grant and a CLA (Contributor License Agreement).

What is a patent?

Under United States law, a patent is a right granted to the inventor of a (1) process, machine, article of manufacture, or composition of matter, (2) that is new, useful, and non-obvious. A patent is the right to exclude others from using a new technology.

Let's patent Chrissort

Let's patent Chrissort

  • I need to write a detailed explanation of my algorithm
  • I need to show that my algorithm is new, useful and non-obvious
  • In return for sharing my knowledge with the public, I get to control who uses my algorithm for 20 years

Let's give Chrissort to Swift

  • The Swift Standard Library uses the Apache License
  • If I want to contribute code to them, I need to sign a CLA (Contributor License Agreement)
  • Basically, I need to say "It's OK for Swift and its users to use my patented stuff."

What Apache says about Patents

3. Grant of Patent License.

Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted.If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

Come on already and tell us about React

  • React was first released in 2013 under the Apache license.
  • In October 2014, they switched to the 3-clause BSD license (for copyrights) and added a separate PATENTS file with a custom written patent grant (which they tweaked a bit in April 2015).
  • This combination of licenses is often called "Facebook BSD+Patents"

What did it say?

The license granted hereunder will terminate, automatically and without notice,
if you (or any of your subsidiaries, corporate affiliates or agents) initiate
directly or indirectly, or take a direct financial interest in, any Patent
Assertion: (i) against Facebook or any of its subsidiaries or corporate
affiliates, (ii) against any party if such Patent Assertion arises in whole or
in part from any software, technology, product or service of Facebook or any of
its subsidiaries or corporate affiliates, or (iii) against any party relating
to the Software. Notwithstanding the foregoing, if Facebook or any of its
subsidiaries or corporate affiliates files a lawsuit alleging patent
infringement against you in the first instance, and you respond by filing a
patent infringement counterclaim in that lawsuit against that party that is
unrelated to the Software, the license granted hereunder will not terminate
under section (i) of this paragraph due to such counterclaim.

The Apache Foundation didn't like this

Facebook said tough cookies

Wordpress said tough cookies

Facebook said "Enough!"

Everyone celebrated!

...or not?

So... are we good?

Maybe.

  • If there's no patented stuff in React, then we don't need a patent grant to use it (although it raises the question of why Facebook had one before)
  • If there *is* patented stuff in React, then anyone who uses it is commiting patent infringment

Wait, I thought this had a happy ending?

  • It's possible that the MIT License can implicitly grant patent rights, but this seems shaky and unproven.
  • Many people who have looked at Facebook's portfolio say there aren't patents in React, but it's hard to be 100% sure.
  • Bottom line: Using React is *probably* OK, but I am not a lawyer and this is not legal advice.

Thanks!

You can follow me on twitter @uehreka

Useful resources: