From open source labs to ceo methods and advice by sysfera

Preview:

DESCRIPTION

From Open Source Labs to CEO_methods and advice by SysFera

Citation preview

OutlineThe contextIndustrializing an open source softwareSelling a productConclusion(s)

The context

MehCEO@SysFeraPreviously research engineer @INRIA in the GRAAL AVALONresearch team (LIP/ENS Lyon)

SysFeraWe provide software for the usage and management of HPC ITinfrastructure in a hybrid Cloud mode12 people located close to the INSA campus (the weirdos doingpixel art on the windows? That's us.)

References

Where it all beganDIET (Distributed Interactive Engineering Toolbox) created in 2001Middleware for HPC : How to access an application on a distantserver in a ASPSaaS fashionLeading implementation of the OGF’s GridRPC standard

The Décrypthon projectEarly adopters, guiding us on the path of industrializing researchsoftwareThe computing platform of the Téléthon : provide a simple to usegrid platform for biologistsSponsors: AFM, IBM, CNRS2007: DIET replaces proprietary middleware (\o/)Has been up and running 24/7/365 between 2007 and 2011

Wait... what if we create a company to do that for others?

Industrializing anopen source

software

The pathMay 2008 : Let's create a company !March 2010 : birth of SysFeraOriginal idea :

We must secure the IP and structure the development process

Building up a commercial offer around DIET while

staying true to DIET's OSS roots

Code is IP

Code is IPBefore creating a company you need to secure the IP

from the insidefrom the outsidewith the authors

Manage your code's IParchitecture

Code snippets from the Internet?Third-party libraries?License?Any global coherence in the IP’s perspective?

Manage your code's IParchitecture

Possible solutions:

Antepedia Suite : They’re coming from INRIA and it’s OSS!{eyes, hands, head, jurist}

Software patent?Patents?Publications?Clone of your technology in the real world?Define your innovation/processStudy patent claims... VERY accurately.

Software patent?Possible solutions:

{A consulting firm in IP}{eyes, hands, head, jurist}

Manage the past ...It WILL be the most time-consuming part.

Check developers’: contract type, lab, institute, faculty, etc.What part of the IP do they produce?Who owns the code?What business model for what business plan?Most of the time authors don’t know anything about that

Above all: be patient!

Manage the past ...Only solution:

Patience, Time and Tenacity

... and the futureWho will contribute?What about the community?Will you be able to use that code in any situation?Who will lead the project? What’s the road map?How will you manage the code? (Client/Research)-driven commits?

... and the futureOnly solution:

Clarity, Perpetuity, Serenity

But code is alsocode

But code is also codeDIET comes from a research labSYSFERA comes from a research labAll of use were coming from research labsWe needed tools and methodology to get the job done, clean andfastSo we didn’t follow the (easy) (evil) path of proprietary software!

Version your stuffTrack every change and revert themForget CVS and fully embrace GitPrefer atomic changes over monster patches!

Build your stuffTracking bugs takes up half of your time (conservative estimate)The sooner, the betterYou know where this is going, right?

Continuous Integration1. compile manually2. automate compilation from repository with cron3. add up unit tests and crappy mails when compilation fails4. add quality checks5. now install a CI server with shiny graphics6. make developers who break builds bring pastries the next

morning!

Your build system is yourfriend

Automates tasksGood support of parallel jobs (scons out)ExtendableEasy to learn and use (autotools out)Multi-platform

We are using CMake + make/ninja

Unit TestingTesting is boringHumans don’t like boring stuffHowever,

it saves time by quickly detecting regressionit helps detecting dead code

We are using Boost Unit Tests Framework

Document your codeDIET has nice user and developer guidesThe API documentation, however, not so muchDevelopers hate writing anything else than code(to the coders here: you know it’s true)

We are using Doxygen

Continuous IntegrationAutomates !Don't do the annoying stuffLots of OSS solutions

We are using Jenkins

Plan thingsPlan your development sticking to defined release cyclesDefine prioritiesStructure your developments through projectsChoose your preferred development method (something agile!)Involve your community in the debugging!

Be Agile like a monkey!

Be Agile like a monkey!Prefer small iterative cyclesPlan, test, document...... The sooner, the betterGet your toolbox ready

CommunicateWith your managementWith your sales and marketing departmentWith your clientsWith your community... And others, through projects or events

Get a real marketing guy orgirl (or a hippie)

Or you may end up with such a logo

no comment

Selling a product

Selling a productTo create a company (and sell a product) is an adventure itself.

Nerd -> CEO

GoalProducts must be meant to solve customer pain ...

... but in labs you don't meet a lot of customers...

... and a feature for a user is not what we may think it is.

Business & MarketingWhen should we say no (or not now) to a user/customer?How to build a road-map?Nice to have != Nice to buyInnovation can lead to new markets ...... And unknown application fields!How to know the customer needs when there is no existingmarket?Being too innovative can be a hard problem -> evangelism/"toomuch"

TechnologyFramework or not?How to choose between complete modification and slightchanges?Be Agile in every way!

Techno push vsMarket pull

Conclusion(s)

Sad conclusionSoftware does not matter

UX and User satisfaction matters

But beinginnovative is the

key to oursuccess

It's hard, but that's the good way

And research labs are the best place to find innovation

To be here tomorrow: don't fight the change, accompagny it

Happy ConclusionReally cool adventureDevelopers are artistsInnovation, agility and user satisfaction are the keys to successIt's a pleasure to see customers happy with your codeI'm proud to say that 13 people are now working thanks to codedeveloped by researchers from INRIA, CNRS, etc.

Thanks

Mail : Twitter :

DIET website : SysFera website : SysFera@github :

david.loureiro@sysfera.com@DavidLoureiroFr

http://graal.ens-lyon.fr/DIEThttp://www.sysfera.comhttp://sysfera.github.com

Recommended