- Open Source software is found everywhere
- It is world changing technology
- Backbone of Internet servers
- Found in nearly every consumer device
- Open source software is software still
- Failure reasons are similar to proprietary software
- Vague requirements
- Shifting scope
- Ignoring user feedback
- DO NOT do this!!!
- Fails also for other reasons
- Onboarding new devs
- ... have lots of questions
- ... doesn't provide immediate value
- ... have to train devs on your culture
- Presentation and packaging
- Dev doco must be awesome
- Your web page cannot suck
- Easy to get, build and run
- Marketing woes
- Coders may not be good UI folks
- Webmasters and presentation needs
- Management issues
- Same tactics don't always work in open source as they do internally
- An already independent group (developers) needs cohesion with strong project management
- Should be behind the scenes
- Cultural
- Geographic and simple cultural differences
- Code of Conduct for proj is ESSENTIAL
- Onboarding new devs
- Failure reasons are similar to proprietary software
- Emphasize again
- It is a lot of work to open up
- It is hard to open closed software
- Benefits take time to show up
- These costs are up front
- Benefits are plentiful
- "Free labor"
- Peer recognition
- Resume booster
- Exposure to outside ideas (this is huge)
- Originally, hardware was the differentiator for tech businesses
- Software was extended by users
- Changes shared with mfg and other users
- Major differences from today:
*Architecture was not generic
- What you learn and do on platform A was not portable to platform B
- Your skills were tied to the platform
- Sharing software meant more lock-in
- No Internet!
- Hard to distribute data
- Software wasn't a selling point
- Big industry shifts
- A few architectures won out
- "High level languages"
- Write once, compile the same code for different architectures
- If written for machine A, it could now work on machine B
- HW performance levelled out (less of a differentiator)
- Margins dropped
- Required mfgs to find new sources of revenue
- Results:
- SW became a value add for the platform
- Sharing SW cuts the value
- Competitors could also get the SW, too
- Tgis must be stopped!
- Access to code was restricted
- Legal agreements (NDA) if code was available
- Sometimes also required for binaries
- SW became a value add for the platform
- Several separate people/groups had a similar idea
- But with different motivations
- Richard Stallman
- AI lab at MIT
- Culture of SW sharing at MIT
- Common to academia
- Similar to sharing research
- Co-workers hired away by a proprietary SW company
- New HW w/proprietary OS went to the lab
- Culture of SW sharing at MIT
- Resigned and started FSF
- GPL license
- Code can be copied and modified
- Derivatives must be GPL
- (Viral)
- Must always be free
- Uses legal protections opposite of traditional use
- Instead of enforcing restrictions, it enforces freedoms
- GNU project started
- Free OS
- Free utilities
- Utilities were so good they started being used on non-free OSs
- 1990 most of OS done, but kernel still far away
- Linus Torvalds and collaborators...
- Linux - the missing kernel
- FSF Rhetoric
- Tied politics to code
- Made it a cause, not convenience
- Idealism motivation
- GPL license
- AI lab at MIT
- GNU Not the only free OS project
- BSD
- UCB
- Already underway in 1990
- Reimplemented UNIX (versus being a new system altogether)
- Non idealism motivation
- X Windows
- MIT - partnered with vendors
- 1980s
- Unique license
- Free core
- Proprietary stuff can be add on
- Level playing field
- Not idealogic
- More for standards
- Business motivation
- TeX
- Donald Knuth
- Code can be modified, but can't be called Tex unless it passed a compatibility test
- Trademark protection motivation
- BSD
- Ideology
- Technical excitement
- Collaboration with others
- The code is generally good
- Comparable to proprietary
- Sometimes better
- Cheaper, at least