30
Open Source, A New Software Paradigm Ye Joo Park Software Engineer Samsung Electronics

Open Source: A New Software Paradigm

Embed Size (px)

Citation preview

Page 1: Open Source: A New Software Paradigm

Open Source, A New Software Paradigm

Ye Joo ParkSoftware EngineerSamsung Electronics

Page 2: Open Source: A New Software Paradigm

AT&T in 1980s was a much-feared corporate monopoly with enormous R&D resources.

The Story Begins with AT&TATT

Multiple Operating Systems and Programming Languages were created from here. The lab received eight Nobel Prizes.

Page 3: Open Source: A New Software Paradigm

First Modern Operating System byKen Thompson & Dennis Ritchie C Programming Language Also Born

The Innovative Operating SystemUNIX

Page 4: Open Source: A New Software Paradigm

Unix was innovative, but AT&T wasn’t al-lowed to exploit it as a commercial prod-uct due to the consent decree with DOJ.

The Innovative Operating SystemUNIX

Page 5: Open Source: A New Software Paradigm

AT&T starts selling licensed copies of UNIX for one dol-lar. Computer scientists started to share their improve-ments and innovations for UNIX freely.

$1 Price of licensed copies of UNIX

Page 6: Open Source: A New Software Paradigm

AT&T started granting commercial licenses for UNIX. This resulted in forkings - the development of many incompatible versions.

$$ Commercial Licenses Granted

Page 7: Open Source: A New Software Paradigm

A major project to build a free alternative to UNIXFree Software Foundation by Richard Stallman

GNU’s not UNIXGNU

Page 8: Open Source: A New Software Paradigm

A Xerox Printer in MIT’s Lab experienced frequent jams. Stallman modified the firmware in the printer to no-tify every user with a print job that the printer was jammed.

Beginning of the Open Source MovementGNU

Page 9: Open Source: A New Software Paradigm

GNU Operating SystemGNU

GCC compiler

GNU debugger

GNU make

Emacs Text Editor

Carnegie Mellon’s Mach microkernal

Page 10: Open Source: A New Software Paradigm

GNU/Linux (commonly referred as Linux)GNU

GCC compiler

GNU debugger

GNU make

Emacs Text Editor

Linus Torvalds’Kernal (Linux Kernal)

Richard Stallman’s Work

Page 11: Open Source: A New Software Paradigm

You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to GPL-licensed code must also be made available under the GPL.

General Public License v2GPL

Page 12: Open Source: A New Software Paradigm

Free software means software’s users have freedom

Free Software Foundation’s DefinitionFSF

Run Program To Study and Change Source Code

Redistribute Exact Copies Distribute Modified Versions

Page 13: Open Source: A New Software Paradigm

Most licenses fall into one of these two categories.

Open Source License CategoriesVS

Permissive Copyleft

BSD (Berkeley Software Distribution)

MIT

Apache

GPL

Mozilla Public License

Eclipse Public License

Derivatives of the software must be licensed under the same terms

Software can be reused in any project, even closed-source works

Page 14: Open Source: A New Software Paradigm

Open Source License CategoriesVS

Permissive Weak Copyleft

Recognition is important

Strong Copyleft

“Give me credit” “Give me the fixes” “Give me everything”

Freedom is very important

No warranties or guarantees provided

Sharing is important

Page 15: Open Source: A New Software Paradigm

The MIT license and the Apache License are similar except…

Permissive License ComparisonVS

Patent Rights Trademarks

The Apache License 2.0 provides an ex-

press grant of patent rights from con-

tributors to users.

Licensee cannot use licensor’s name

without permission.

The licensee can’t associate licen-sor’s trade name (including adver-tising)

The patents should be regarded as royalty-free

Page 16: Open Source: A New Software Paradigm

Eclipse Public License 1.0 and Mozilla Public License 2.0

Other Copyleft LicensesVS

Eclipse Public License 1.0 Mozilla Public License 2.0

This license provides the ability to

commercially license binaries.

commercial-friendly license

You can combine MPL software with

proprietary code, as long as you keep

the MPL code in a separate file.

Distributing binaries under a proprietary license is pos-sible

Page 17: Open Source: A New Software Paradigm

What makes open source so complex?

Bringing ComplexityOS

Software Patents License Compatibility

Coverage of License Clauses Hardware Restrictions (Tivoization)

Page 18: Open Source: A New Software Paradigm

Does the license allow patent usages for licensees?Does GPL v2 contain a patent license?

Example of Patent ComplexityPAT

Page 19: Open Source: A New Software Paradigm

Are structure, sequence, and organization of the API packages copyrightable?

Example of Coverage ComplexityCOV

Page 20: Open Source: A New Software Paradigm

GNU Affero GPL (AGPL)Provide source code even if service is provided via a server (and not released as a binary)

Example of Coverage ComplexityCOV

Page 21: Open Source: A New Software Paradigm

TiVo, a TV recording service built on Linux. Accessing BASH prompt over USB/Ether-net was possible.

Example of Hardware Restrictions – TivoizationHW

Tivo’s Series2Any changes to config files are protected by hashes and checked by the boot ROM (checksum). Any changes will either replace the file or not boot at all.

GPL v3U P D A T E I N

The source code must include sig-nature keys or codes that are nec-essary to make the modified ver-

sion run.

Page 22: Open Source: A New Software Paradigm

Rank License %

1 MIT License 26%

2 GNU General Public License (GPL) 2.0 21%

3 Apache License 2.0 16%

4 GNU General Public License (GPL) 3.0 9%

5 BSD License 2.0 License 6%

6 GNU Lesser General Public License (LGPL) 2.1 4%

7 Artistic License (Perl) 4%

8 GNU Lesser General Public License (LGPL) 3.0 2%

9 Microsoft Public License 2%

10 Eclipse Public License (EPL) 2%

Top 10 License Types (Black Duck Protex Data 2016)10

Page 23: Open Source: A New Software Paradigm

Rank License %

1 MIT 44.69%

2 Other 15.68%

3 GPLv2 12.96%

4 Apache 11.19%

5 GPLv3 8.88%

6 BSD 3-clause 4.53%

7 Unlicense 1.87%

8 BSD 2-clause 1.70%

9 LGPLv3 1.30%

10 AGPLv3 1.05%

Top 10 License Types (GitHub Data 2015)10

Page 24: Open Source: A New Software Paradigm

Governance Types – How Open Is Open? GOV

Walled Garden Benevolent Dicta-tor

Samsung

True Meritoc-racy

Open source in name only, im-possible for you to get in-

volved

Single person has the ultimate authority

There is no leader We are all even peers

Apache Software FoundationPython, Perl, Linux (Linus)

Page 25: Open Source: A New Software Paradigm

Takeaways…

Compliance Identify the licenses involved and pay atten-tion to compliance.

Governance Community is vital to making an open source project successful.

Safety Consult a lawyer or other organizations if any gray area exists.

Page 26: Open Source: A New Software Paradigm

AppendixLicense Sum-mary

Page 27: Open Source: A New Software Paradigm

You can do what you like with the software, as long as you include the required notices. This permissive license contains a patent license from the contribu-tors of the code.

Apache License 2.001

Page 28: Open Source: A New Software Paradigm

The BSD 2-clause license allows you almost unlim-ited freedom with the software so long as you in-clude the BSD copyright notice in it.

BSD 2-Clause License02

Page 29: Open Source: A New Software Paradigm

Basically, you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source.

MIT License03

Page 30: Open Source: A New Software Paradigm

You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available un-der the GPL along with build & install instructions.

GNU General Public License v3.004