collaborative tools for free software development

36
1 INNOVAR PARA GANAR MORFEOPROJECT Collaborative tools for Free Software Development under the ”Attributions-ShareAlike 3.0” Creative Commons License available in http://creativecommons.org/licenses/by-sa/3.0/es Andrés L. Martínez Ortiz ([email protected]) Telefónica I&D Morfeo Office http://www.morfeo-project.org Oviedo University April 16 th and 17 th , 2009

Upload: andres-leonardo-martinez-ortiz

Post on 28-May-2015

625 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Collaborative Tools For Free Software Development

1

INNOVAR PARA GANAR

MORFEOPROJECT

Collaborative tools for Free Software Development

under the ”Attributions-ShareAlike 3.0” Creative Commons License available in http://creativecommons.org/licenses/by-sa/3.0/es

Andrés L. Martínez Ortiz ([email protected])Telefónica I&DMorfeo Office

http://www.morfeo-project.org

Oviedo UniversityApril 16th and 17th, 2009

Page 2: Collaborative Tools For Free Software Development

2

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

© 2002, 2003, 2004, 2005, 2006 Ben Collins-Susman, Brian W. Fitzpatrick and C. Michael Pilato.

© 2005, 2006, 2007 Karl Fogel.© 2009 Andrés L. Martínez Ortiz.

Some rights reserved. This works includes/adapt/remix some contents extract from the followings books:

”Producing Open Source Software: How to Run a Sucessful Free Software Project” copyrigth © 2005, 2006 and 2007 of Karl Fogel under the ”Attributions-ShareAlike 3.0” Creative Commons License.

”Version Control with Subversion” copyrigth © 2002, 2003, 2004, 2005, 2006 Ben Collins-Susman, Brian W. Fitzpatrick and C. Michael Pilato under the ”Attributions-ShareAlike 2.0” Creative Commons License.

This presentation is distributed under the ”Attributions-ShareAlike 3.0” Creative Commons License available in: http://creativecommons.org/licenses/by-sa/3.0

You can find this work at Morfeo Project forge:https://forge.morfeo-project.org/docman/index.php?group_id=7

Page 3: Collaborative Tools For Free Software Development

3

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Contents I (April 16th 2009)

Collaborative tools for Free Software Development I: Introduction. Software Development Etymology. Software Development Mythology. Voices from Software Engineers.

Collaborative tools for Free Software Development II: Free Software Project Management. Starting Free software development Maximizing The Audience … and last but not least SLOC, FAQ, GPL and other acronyms Communication Plan So.... Off we go A Modern Pony Express Remember the past, version it Ant colonies Bees colonies

Page 4: Collaborative Tools For Free Software Development

4

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Contents II (April 17th 2009)

Collaborative tools for Free Software Development III: Tools Gforge Trac Common infrastructure

Mailman Subversion Wiki Blog

Collaborative tools for Free Software Development IV: Morfeo Community. Collaboration principles. Business Models. Organization.

Collaborative tools for Free Software Development V: New generation Integration Issues. Vulcano Architecture. Morfeo / Vulcano Forge.

Page 5: Collaborative Tools For Free Software Development

5

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT Collaborative tools for Free Software

Development I

Introduction●Software Development Etymology.●Software Development Mythology.●Voices from Software Engineers.

Page 6: Collaborative Tools For Free Software Development

6

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Software Development EtymologyCollaborative versus individual

Tools versus processes

Open versus private Software versus Hardware

Development/engineering versus creation/art

Page 7: Collaborative Tools For Free Software Development

7

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Voices from Software Engineers

Then, why do you have to worry about Software Engineering? For the present:

“Most free software projects fail” first line of the first chapter of the book Producing Open Source Software. How to run a successful free software project. © 2005 Karl Fogel.

“Software development projects are in chaos, and we can no longer imitate the three monkeys -- hear no failures, see no failures, speak no failures.” from The Standish Group Report © 2006 The Standish Group.

Modern software developer needs quality-supporting tools to develop large, multithreaded, distributed applications in a timely manager and with adequate quality” from Where is my jetpack?. S Helsen, A. Ryman and D. Spinellis. © 2008 IEEE Software.

For the Future: “In a era of rapid change, those who repeat the past are condemned to a bleak

future” from A View of 20th and 21st Century Software Engineering. Barry Bohem, ICSE 06. © 2006 ACM

Page 8: Collaborative Tools For Free Software Development

8

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Software Development Mythology

weresoft*

M3***

(mythical man-month)

(*) © 2008 Rikk (http://www.flickr.com/people/123rik), under Creative Commons License Attributions 2.0(**) © 2006 DerrickT(http://www.flickr.com/people/derricksphotos), under Creative Commons License Attributions 2.0(***) © 2007 Swami Stream (http://www.flickr.com/people/araswami), under Creative Commons License Attributions 2.0

SpectralProgramming**

Page 9: Collaborative Tools For Free Software Development

9

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Collaborative tools for Free Software Development II

Free Software Project

Management●Starting Free software development●Maximizing The Audience●… and last but not least●SLOC, FAQ, GPL and other acronyms●Communication Plan●So.... Off we go●A Modern Pony Express●Remember the past, version it●Ant colonies●Bees colonies

Page 10: Collaborative Tools For Free Software Development

10

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Starting Free software development

Do you have an idea?

Look around:● www.google.com● http://freshmeat.net ● http://www.sourceforge.net● http://directory.fsf.org

Make it public

Page 11: Collaborative Tools For Free Software Development

11

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Maximizing The Audience

Maintain (define, write and update) you own manifesto

Build you own brand.

Announce clearly the openness of you project

Show the project's features and requirements

Show roadmap, bugs, and development status

Page 12: Collaborative Tools For Free Software Development

12

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

… and last but not least

Share its code for developers

Share you program for users

Page 13: Collaborative Tools For Free Software Development

13

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

SLOC, FAQ, GPL and other acronyms

Program's code should include project documentation

Frequently Asked Questions (FAQ)

Developer guidelines

Screen shots

License●GPL●AGPL●MIT●CC●Apache●.......

Page 14: Collaborative Tools For Free Software Development

14

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

CollaborativeTools

Communication Plan

For usersFor developers

For companies

Page 15: Collaborative Tools For Free Software Development

15

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

So... Off we go

CollaborativeTools

Web siteBloging

Mailing List

Version control

Bug tracking

Collaborativeediting

CommunicationMicro bloging

Page 16: Collaborative Tools For Free Software Development

16

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

A Modern Pony Express

Mailing list features●email/web subscription●digest/message mode●Moderation features●Administrative interface●Header manipulation●Archiving

Spam prevention

●Only subscribers posting

●Moderation

Don't forget

Page 17: Collaborative Tools For Free Software Development

17

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Remember the past, version it

Version everything

Browsability

Control version features

Email changes

Branches to avoid bottlenecks

Define access control

Page 18: Collaborative Tools For Free Software Development

18

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Ants colonies Define your own issue life cycle

Bug tracker /mail integration

Bug pre filtering

Page 19: Collaborative Tools For Free Software Development

19

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Bees colonies

Wikis affections ●Lack of navigational principles●Duplication of information●Inconsistent target audiences

Page 20: Collaborative Tools For Free Software Development

20

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT Collaborative tools for Free Software

Development III

Tools(practical)

●Gforge●Trac

Page 21: Collaborative Tools For Free Software Development

21

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Gforge

Main Features:● Per Community

● News Concentrator.● Projects statistics.● Help request facilities.● Code interchange facilities.

● Per Project● Main site ● Forums● Tracker● Mailing list● Task management● Document Management● Polling ● New● Control Version● Release management

Page 22: Collaborative Tools For Free Software Development

22

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

TRAC

Page 23: Collaborative Tools For Free Software Development

23

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT Collaborative tools for Free Software

Development IV

Morfeo Community●Collaboration principles.●Business Model.●Organization●Basic Collaboration tools●Advanced features (I) training●Advanced features (II): marketplaces●Future features: OSS strategy●Virtual Forges●Communication Plan

Page 24: Collaborative Tools For Free Software Development

24

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Collaboration principles.

●Morfeo is an Open Source Community.●Its partners are

● Universities● Enterprises ● Small and Medium

Enterprises● Technological Centres

●The relationships between members are based on Open/Free licensed of the technology●Every participant of the value chain of any technology developed in Morfeo is member of the community (i.e. integrator)

●Morfeo fosters new business model around OSS.●Morfeo is a social network formed by technological agents involved in R+D+i process.●Our relationship are based on win-win process.●Morfeo members think thar OSS is a strategical option to make R&D+i process in a different way.

Page 25: Collaborative Tools For Free Software Development

25

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Business Models

Open InnovationEnvironment

TechnologyConsumers

Page 26: Collaborative Tools For Free Software Development

26

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Organization

Page 27: Collaborative Tools For Free Software Development

27

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Basic Collaborations tools

Project hosting: Website Blog. Internet domain.

Software Development support: Mailing list Wikis Tracker Version control Documentation management. Task management.

Licensing and IPR management support. OSS promotion. Consortium management.

Page 28: Collaborative Tools For Free Software Development

28

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Advanced features (I): training

Page 29: Collaborative Tools For Free Software Development

29

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Advanced features (II): marketplaces

Page 30: Collaborative Tools For Free Software Development

30

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Open Alliances: Agile Standardization Process● Set of industrial and academic organizations which declare

to share a concrete vision on how part of the infrastructure in the future Internet of Services can be implemented.

● Altogether commit to apply resources to:● Produce Open Standards.● Integrated result in references implementation

Future features: OSS strategy

●Which will be the collaboration principles? ●What collaboration tools are going to be needed?●What will be the collaboration benefits?

Christiensen's law command: proactive strategy of OSS● Initiative about how get competitive advantage of

Software “comoditization”

Page 31: Collaborative Tools For Free Software Development

31

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT Collaborative tools for Free Software

Development IV

The Future: Vulcano forge

●Collaboration principles●Collaboration benefits I●Collaboration benefits II●Architecture

Page 32: Collaborative Tools For Free Software Development

32

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Collaboration principles

Common Architecture Back end: restful services. Front end: light mashup integration.

Technology independence: Framework independence:

Djando / Python Rails / Ruby J2EE / Java

Open alliances approach (agile standard): Common vision / Development effort shared.

Page 33: Collaborative Tools For Free Software Development

33

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Collaboration benefits

Common services catalogue Mailman, subversion, Dekiwiki, Trac already

available. Flossmetric trustworthy services. Lots of new services are coming (doodle like

service, etc..) Scale economy development:

Testing: integration testing, system testing, etc.

Packaging Debian, Mandriva.

Page 34: Collaborative Tools For Free Software Development

34

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Collaboration benefits (II)

Community collaboration model: it makes easy to collaborate. Let everybody become a factory developer. Open Source Communities friendly approach.

Public Open Source forges integration: Sourceforge Savanna Others...

Factory Platform already deployed: http://vulcano.morfeo-project.org

Page 35: Collaborative Tools For Free Software Development

35

INNOVAR PARA GANAR

MO

RFE

OPR

OJE

CT

Architecture

Page 36: Collaborative Tools For Free Software Development

36

INNOVAR PARA GANAR

MORFEOPROJECT

Collaborative tools for Free Software Development

under the ”Attributions-ShareAlike 3.0” Creative Commons License available in http://creativecommons.org/licenses/by-sa/3.0/es

Andrés L. Martínez Ortiz ([email protected])Telefónica I&DMorfeo Office

http://www.morfeo-project.org

Oviedo UniversityApril 16th and 17th, 2009