free software basics

Post on 18-May-2015

712 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related