Free software basics
-
Upload
vitor-pamplona -
Category
Technology
-
view
710 -
download
1
Transcript of Free software basics
Profitable Free Software
Vitor Pamplona
Free Software
• Freedom
Free Software
• Freedom– To Use
Free Software
• Freedom– To Use– To Study
Free Software
• Freedom– To Use– To Study– To Change
Free Software
• Freedom– To Use– To Study– To Change– To Distribute
Free Software Environment
• Recurse!
Free Software is coolbut where is my money? ... profit? ... I need food to live! ... not sustainable
Rewards for Players
• For Companies– Low-cost goodies– Market evaluation and campains– Easy of training and incentives for schools– Creation of standards– Easy to widespread and grow its use– Motivational skills for the best developers– Modularization culture– Quality assessment– Competition annihilation
Rewards for Players
• For Developers– Hobby and fun– Networking for hackers– Curriculum improvement– Responsibility assessment– Knowledge of the whole development cycle– Leadership development and evaluation– Community knowledge for hiring– Talks :)
Open Source is cooland it helps you to make money ... it is profitable ... it is fun ... it is sustainable
Open Source vs Free Software
• Open does not mean freedom
Focus on Business
Focus on People
Open Source vs Free Software
Capitalist Communist
Open Source vs Free Software
Guaranteed on Free
Software Only
Project Roadmap
Capture an Idea
• Use linux to know how people work• Homeworks/Your Needs• Crazyness/absurds• Keep it simple, fast and VERY small• It’s OK to copy• You don’t like something? Create it again• Forget about competitors• Fork and Improve
How to Compute Ideas
neXt
X + Y
X ++
Xd
X
X
X
How to Compute Ideas
Display3D
X + Y
X ++
Xd
X
X
X
How to Compute Ideas
Display3D
Glasses-FreeContext-AwareUser-Sensible
Displays 4D?Multi-focal Displays
Holograms
Display 1D?Sound 3DSmell 3DTouch 3D
NETRACATRA
Projector-based 3DWave OpticsRay Optics
Marketing, SportsGames, Movies
Medicine
How to Compute Ideas
Touch Screen
X + Y
X ++
Xd
X
X
X
How to Compute Ideas
Touch Screen
Multi-touchUltrafast
Low bandwidth
Sensing + DisplayingWeight
Untouch screenTouch unscreen
Broken Bone DetectorMice Tracking
CapacitiveResistiveBiological
FingerprintWind Screen?
Ownership VS Licensing
Copyright Holder
GPL
LGPL
Apache
CreativeCommons
BSD
Public DomainRoyalty-FreeCopyleft
Share Alike
Microsoft Reference
License
Shared Sources
Creative Commons
Open Source License ComparisonGPL Apache BSD LGPL MIT Public
Domain
Can Non-free Soft
Can Private Changes
Can Change License
Can Endorse
Can Warranty
Can Charge
Can Sell
Free Software Open Source
Prove it: Demo or DIE
• An idea alone is worthless– Everybody has good ideas
• Implementation matters!• Interface matters• Social network matters• Spreading matters– Easy live demos, videos, screencasts, blogs, twitter– Code snippets, documentation, tutorials– Business pitches, fund raising, foundation grants
A Little Secret on Starting
Code
GithubFriends
Project Check-list
• Project page– Documentation / User Manual– Installation Notes– License
• Repository / Version control– SourceForge– GitHub
• Feedback Page – Wiki– Discussion Group / Forum
• News Channel– Blog - Best– Twitter
Project Page Anatomy
• Goals– Future of the project? – What expect from it?
• Features and flaws– Be sincere
• TO-DO List & Contribution– Keep always updated
• Download• Documentation
– Installation Notes– Use– Uninstall
• Snapshots and Screencasts
Quality-Based Software
• Make sure you are doing the best• Minimum bugs, beautiful code• Test driven development helps a LOT• Unit test, Unit test, Unit test!! • Feel free to release many beta versions• Make nice videos and screencasts– Believe me, you need them
Releasing and Feedback
• On releasing a version: – Binary code and instructions – Source code and instructions – Detailed change-log and high-level news item– Make packaging: .deb, .rpm and .yum
• Ask friends to test the software and instructions• Be kind• People will make critics. Don’t go ofensive. • Good documentation and fast feedback action
Language and Internacionalization
• Source code: – Always in english. Translate everything!
• Webpage: – Start in portuguese. – Make a first draft for an engligh website – Other people can review it.
• Learn how to i18n of your environment– Translation is the MAIN source of collaboration
Open Source Funding
• Saving time and money • ONGs are usually awesome• Allow donation– Vakinha, Paypal, and others
• Adsense• University partnerships– They can provide servers and infrastructure
• Search for incubators• Focus on corporate market. – Who can get a lot of money from your software?
Open Source-based Company
• Your own company– Customization services and support– Documentation and training – Warranty– Plugins or paid improved version
• Award the best commiters• Talks, talks and talks– Pay for the best commiters go present
• Reward plan and gifts
Project Discontinued
• Projects die. Accept that. • Let other people continue your work• Keep the code on-line– People can fork it – Or learn from your mistakes
• Publish!– People are relying on you, they need to know