summaryrefslogtreecommitdiff
path: root/2006/intf_kommerz_community-oscon2006
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2015-10-25 21:00:20 +0100
committerHarald Welte <laforge@gnumonks.org>2015-10-25 21:00:20 +0100
commitfca59bea770346cf1c1f9b0e00cb48a61b44a8f3 (patch)
treea2011270df48d3501892ac1a56015c8be57e8a7d /2006/intf_kommerz_community-oscon2006
import of old now defunct presentation slides svn repo
Diffstat (limited to '2006/intf_kommerz_community-oscon2006')
-rw-r--r--2006/intf_kommerz_community-oscon2006/intf_kommerz_community.mgp397
1 files changed, 397 insertions, 0 deletions
diff --git a/2006/intf_kommerz_community-oscon2006/intf_kommerz_community.mgp b/2006/intf_kommerz_community-oscon2006/intf_kommerz_community.mgp
new file mode 100644
index 0000000..17c99a1
--- /dev/null
+++ b/2006/intf_kommerz_community-oscon2006/intf_kommerz_community.mgp
@@ -0,0 +1,397 @@
+%include "default.mgp"
+%default 1 bgrad
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+%nodefault
+%back "blue"
+
+%center
+%size 7
+
+The Interface between
+Free Software Community
+and
+Corporate World
+
+%center
+%size 4
+by
+
+Harald Welte <laforge@hmw-consulting.de>
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Introduction
+
+Who is speaking to you?
+
+ an independent Free Software developer, consultant and trainer
+ who is a member of the Free Software community for 11 years
+ who has a background in both the community and experience with the corporate crowd
+ woh still is a die-hard technical guy
+ who will therefore not have fancy animated slides ;)
+
+Why is he speaking to you?
+
+ because every working day he suffers the lack of understanding between the community and the business world
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+What is Free Software?
+
+ Software that is
+ available in source code
+ is licensed in a way to allow unlimited distribution
+ allows modifications, and distribution of modifications
+ is not freeware, but copyrighted work
+ subject to license conditions, like any proprietary software
+ READ THE LICENSE
+
+What is Open Source?
+ Practically speaking, not much difference
+ Remainder of this presentation will use the term FOSS (Free and Open Source Software)
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Ideas and Goals of the GNU GPL
+
+ Free Software
+ Software that has fundamental freedoms:
+ to use it for any purpose
+ to "help your neighbour" (i.e. make copies)
+ to study it's functionality (reading source code)
+ to fix it myself (make modifications and run them)
+
+ Copyleft
+ Is the legal idea to
+ exercising copyright to grant the above freedoms
+ assure that nobody can take away the freedom
+
+ The GNU General Public License
+ Is a legal instrument to apply they copyleft idea on software
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+The GNU GPL revisited
+
+Revisiting the GNU General Public License
+
+ Regulates distribution of copyrighted code, not usage
+ Allows distribution of source code and modified source code
+ The license itself is mentioned
+ A copy of the license accompanies every copy
+ Allows distribution of binaries or modified binaries, if
+ The license itself is mentioned
+ A copy of the license accompanies every copy
+ The complete source code is either included with the copy (alternatively a written offer to send the source code on request to any 3rd party)
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+What is the FOSS Community?
+
+ Diverse
+ any individual can contribute
+ no formal membership required
+ every project has it's own culture, rules, ...
+ International
+ the internet boosted FOSS development
+ very common to have developers from all continents closely working together
+ Evolutionary
+ developers come and go, as their time permits
+ projects evolve over time, based on individual contributions
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+People / Groups involved
+
+ Really depends on size of projects
+ Small projects often a one-man show
+ Bigger project have groups / subgroups
+ Common Terms / Definitions
+ Maintainer
+ The person who formally maintains a project
+ Core Team / Steering Committee
+ A group of skilled developers who make important decisions
+ Subsystem Maintainer
+ Somebody who is responsible for a particular sub-project
+ Developer Community
+ All developers involved with a project
+ User Community
+ Users of the software who often share their experience with others
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Development Process
+
+ "Rough concensus and running code"
+ Decisions made by technically most skilled people
+ Reputaion based hierarchy
+ Direct Communication between developers
+ Not driven by size of a target market
+ Release early, release often
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Motivations
+
+ gaining reputation (like in the scientific community)
+ gaining development experience with real-world software
+ solving problems that the author encounters on his computer
+ fighting for free software as ideology
+ work in creative environment with skilled people and no managers ;)
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+FOSS Community likes
+
+ generic solutions
+ portable code
+ vendor-independent architecture
+ clean code (coding style!)
+ open standards
+ good technical documentation
+ raw hardware, no bundle of hardware and software sold as solution
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+FOSS Community dislikes
+
+ monopolistic structures
+ e.g. intel-centrism
+ closed 'industry forums' with rediculous fees
+ e.g. Infiniband, SD Card Association
+ standard documents that cost rediculous fees
+ NDA's, if they prevent development of FOSS
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Weak Ponts of FOSS
+
+ often way behind schedule (if there is any)
+ already too late when projects start
+ started when there already is a real need
+ often a lack of (good) documentation
+ programmers write code, not enduser docs...
+ strong in infrastructure, weak in applications
+ traditionally developers interested in very technical stuff
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Why good relations?
+
+ Let's presume you're using FOSS in your products.
+ Why would I want to have good relations with the FOSS community?
+ You're using their code in your products.
+ You're interested in their new developments.
+ You probably want to continue product delvelopment on their code
+ Thus, You're interested in cooperative development
+ You want their codebase to better fit for your application
+ Esp. in Security areas, you need to trust the community. Would you trust somebody that you're upsetting deliberately, or which you're fighting battles with?
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Practical Rules
+
+ In the end, it's just like environmental protection:
+ FOSS community is like an ecosystem
+ If you behave friendly to the environment, there is sustainable development
+ If you just consume and abuse the FOSS ecosystem, you damage it
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Practical Rules
+
+ 1. Much more communication
+ It's not a consumer/producer model, but cooperative!
+ Before you start implementation, talk to project maintainers
+ It's likely that someone has tried a similar thing before
+ It's likely that project maintainers have already an idea how to proceed with implementation
+ Avoid later hazzles when you want your code merged upstream
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Practical Rules
+
+ 2. Interfaces
+ If there is a standard interface, use it
+ Don't invent new interfaces, try to extend existing ones
+ If there is an existing interface in a later (e.g. development) release upstream, backport that interface
+ Don't be afraid to touch API's if they're inefficient
+ Remember, you have the source and _can_ change them
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Practical Rules
+
+ 3. Merge your code upstream
+ Initially you basically create a fork
+ Development of upstream project continues sometimes at high speed
+ If you keep it out of tree for too long time, conflicts arise
+ Submissions might get rejected in the first round
+ Cleanups needed, in coordination with upstream project
+ Code will eventually get merged
+ No further maintainance needed for synchronization between your contribution and the ongoing upstream development
+ Don't be surprised if your code won't be accepted if you didn't discuss it with maintainers upfront and they don't like your implementation
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Practical Rules
+
+ 4. Write portable code
+ don't assume you're on 32bit cpu
+ don't assume you're on little endian
+ if you use assembly optimized code, put it in a plugin
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Practical Rules
+
+ 5. Write clean code
+ as opposed to closed-source software, people actually read it
+ it will be noticed if coding style is bad
+ lots of projects have official CodingStyle rules
+ if you comment, do it only in english!
+ don't clutter hardware/product specific hacks over common code
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Practical Rules
+
+ 6. Binary-only software will not be accepted
+ yes, there are corner cases like FTC regulation on softradios
+ but as a general rule of thumb, the community will not consider object code as a solution to any problem
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Practical Rules
+
+ 7. Avoid fancy business models
+ If you ship the same hardware with two different drivers (half featured and full-featured), any free software will likely make full features available on that hardware.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Practical Rules
+
+ 8. Show your support for the Community
+ By visibly contributing to the project
+ discussions
+ code
+ equipment
+ By funding developer meetings
+ By making cheap hardware offers to developers
+ By contracting / sponsoring / hiring developers from the community
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Licensing under GPL
+
+ The GPL is a legal instrument to approximate the goals of Free Software and the 'moral code of conduct' of many FOSS projects by using copyright law
+ Always remember: The goal is to give the user (incl. your customer) fundamental freedoms
+ GPL is just a tool to force distributors to give those freedoms to users
+ It is a legally binding license agreement, since nothing else grants you permission for modification and redistribution
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Enforcing the GNU GPL
+
+ Enforcing the GNU GPL
+ has always been done quietly by the FSF in the USA
+ used to only happen out of court
+ results were never published
+ As number of cases started to increase in 2003, Harald Welte couldn't stand it any longer and started his own enforcement. Some time later, gpl-violtions.org was born.
+ Difference: Publicize enforcement, create awareness within corporate crowd
+ gpl-violations.org has
+ enforced close to 100 cases so far
+ most of them out of court
+ obtained five preliminary injunctions
+ sustained one appeals case against an injunction
+ is currently filing the first regular lawsuit
+ some examples: D-Link, Sitecom, Linksys/Cisco, Sun, Siemens, Fujitsu-Siemens, Telekom, Samsung, Hitachi, Motorola, Kenwood, Maxtor, Western Digital, ...
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+The biggest myths about the GPL
+
+The biggest myths about the GPL
+ The GPL is not enforcible
+ Software licensed under GPL has no copyright
+ Unmodified distribution does not require source code availability
+ The vendor can wait for a source code request (without offering it)
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+The most common mistakes
+
+The most common mistakes
+ not including the "scripts to control installation"
+ only providing off-site hyperlinks to license and/ore source code
+ not responding to support requests for source code
+ charging rediculously high fees for physical shipping of source code
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+The most common mistakes
+
+The most common mistakes
+ not even once reading the GPL text and/or the FAQ from the FSF
+ not including the GPL license text with the product
+ not including a written offer with the product
+ not considering that the GPL also applies to software updates
+ only providing original source code (e.g. vanilla kernel.org kernel)
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%page
+Interface: FOSS community / corporate world
+Thanks
+
+ Thanks to
+ Alan Cox, Alexey Kuznetsov, David Miller, Andi Kleen
+ for implementing (one of?) the world's best TCP/IP stacks
+ Paul 'Rusty' Russell
+ for starting the netfilter/iptables project
+ for trusting me to maintain it today
+ Astaro AG
+ for sponsoring parts of my netfilter work
+ Free Software Foundation
+ for the GNU Project
+ for the GNU General Public License
+ LinBit
+ for inviting me to speak at OSCON
+
+%size 3
+ The slides of this presentation are available at http://svn.gnumonks.org/
+
+
personal git repositories of Harald Welte. Your mileage may vary