30
Emerging F Free/ O Open S Source S Software Practices: Implications for Business and Education Sulayman K. Sowe (Ph.D) Department of Informatics, Aristotle University (ΑΠΘ) Thessaloniki [email protected] Σεμινάρια ανοικτού λογισμικού στις 20 - 21/3/08 . Πανεπιστήμιο Μακεδονία, Thessaloniki, Greece Σεμινάρια ανοικτού λογισμικού στις 20 - 21/3/08 . Πανεπιστήμιο Μακεδονία, Thessaloniki, Greece Promoting Information & Communication Technology in Small & Medium Enterprises and Public Bodies. ARCHIMED Zone through Open Source & Free Software OpenIT OpenIT

Free/Open Source Software: Implications for Business and Education

  • Upload
    sksowe

  • View
    4.417

  • Download
    1

Embed Size (px)

DESCRIPTION

Emerging trends in Free/Open Source Software has great implications for Business and Education

Citation preview

Page 1: Free/Open Source Software: Implications for Business and Education

Emerging FFree/OOpen SSource SSoftware Practices: Implications for Business and Education

Sulayman K. Sowe (Ph.D)Department of Informatics, Aristotle University (ΑΠΘ)

Thessaloniki

[email protected]

Σεμινάρια ανοικτού λογισμικού στις 20 - 21/3/08 . Πανεπιστήμιο Μακεδονία, Thessaloniki, GreeceΣεμινάρια ανοικτού λογισμικού στις 20 - 21/3/08 . Πανεπιστήμιο Μακεδονία, Thessaloniki, Greece

Promoting Information & Communication Technology in Small & Medium Enterprises and Public Bodies.

ARCHIMED Zone through Open Source & Free Software OpenITOpenIT

Page 2: Free/Open Source Software: Implications for Business and Education

In this Presentation:1. Free/Libre/Open Source Software Development: Bazaars and Agoras

• What is FLOSS?• The FLOSS development process

ProjectsCommunities

• Some FLOSS facts3. The FLOSS Business model

• FLOSS and the Software Industry• Making money in FLOSS• Economic Impact of FLOSS

4. FLOSS and Education• Software Engineering Education Now and Challenges• Learning and FLOSS• Educational model• Lessons from Auth Pilot Studies

5. How and What you can contribute6. Emerging Practices

Page 3: Free/Open Source Software: Implications for Business and Education

Free/Libre/Open Source Software Development: Bazaars and Agoras

Page 4: Free/Open Source Software: Implications for Business and Education

What is FLOSS Many Meanings:

- Free Software (FS) – Free Software GNU Foundation- Open Source Software (OSS) – Open Source Initiative- Free and Open Source Software – Sweng, ΑΠΘ- Libre Software – Spain (URJC)- Free/Libre/Open Source Software (FLOSS) – Flosscom.net Project

Concept:- No copyright but copyleft licenses (GPL and many more)- Source code is 'free' and accessible to all. Community code- Download, Use software, binaries, executables from Internet- Freedom to use, modify, distribute, sell software

Bazaar Model Not Cathedral- Anyone can participate (Volunteerism)- No contracts, flexible work schedules- Position must be earned through sustained contribution- Knowledge generated and shared and NOT for competitive advantage

Page 5: Free/Open Source Software: Implications for Business and Education

The FLOSS Development Process Geographically distributed community of volunteers Coordination & Collaboration FLOSS development

- Online Tools: CVS, SVN, Mailing lists, Forums, IRC, Wikis, etc- Offline: Sprint development most popular.

Page 6: Free/Open Source Software: Implications for Business and Education

Projects and Communities Projects: Unsuccessful and Successful of the type:

- Single 1 man project- Community (Linux, PostgreSQL): peoples project- Corporate (MySQL, Fedora): Company code open to community- Foundation (Apache, Mozilla): Board of directors decide

Community Structure:

Page 7: Free/Open Source Software: Implications for Business and Education

Roles and Transition in FLOSS communities

Active Users

Transition

Developers

Transition

Core team/developersCo-developers

Transition

Report bugs Suggest new features Review codeSubmit code

Modify code

Answer to posts in Lists/Forums Fix bugs Implement

new features

Integrate code

Manage releases

Mundane project

activitiesEssential project

activities

Core project coordination & management activities

ModuleOwner

Page 8: Free/Open Source Software: Implications for Business and Education

Facts of FLOSS: Motivation

Page 9: Free/Open Source Software: Implications for Business and Education

Facts of FLOSS: Young people

Period / Year joining the FLOSS community

Age when joining the FLOSS community 1950 - 1985 1986 - 1990 1991 - 1995 1996 1997 1998 1999 2000 2001 2002 Total

10 - 15 years 16,1 12,2 10,2 5,7 4,6 5,6 5,2 6,6 0,8 6,6

16 - 18 years 27,4 17,6 15,7 24,2 22,0 20,1 13,6 16,5 10,1 8,1 17,1

19 - 21 years 19,4 25,2 24,9 22,2 32,6 26,2 27,3 19,1 28,0 16,2 25,1

22 - 25 years 11,3 24,4 25,7 26,3 22,5 26,9 25,8 30,5 28,8 32,4 26,3

Total: 10-25 years 74,2 79,4 76,5 78,4 81,7 78,7 71,8 72,6 67,7 56,8 75,1

26 - 30 years 21,0 12,2 12,4 13,4 14,2 12,3 17,6 18,2 17,9 27,0 15,2

Older than 30 years 4,8 8,4 11,0 8,2 4,1 9,0 10,6 9,1 14,4 16,2 9,7

Total: 26 years and older 25,8 20,6 23,5 21,6 18,3 21,3 28,2 27,4 32,3 43,2 24,9

Total 100 100 100 100 100 100 100 100 100 100 100

n = 2402 p < 0.01; Contingency coefficient: .225 Source: FLOSS Survey (Ghosh et al. 2002)

Page 10: Free/Open Source Software: Implications for Business and Education

Facts of FLOSS: Profession

0,0

0,0

0,1

0,2

0,3

0,6

2,7

3,2

3,2

4,3

5,0

5,1

5,2

9,8

11,2

15,8

36,3

Marketing (other sectors)

Product sales (other sectors)

Product sales (IT)

Marketing (IT)

Executive (other sectors)

Consultant (other sectors)

Other (other sectors)

Other engineer

Executive (IT)

University staff (other areas)

University staff (IT)

Student (other areas)

Other (IT)

Consultant (IT)

Programmer

Student (IT)

Software engineer

Page 11: Free/Open Source Software: Implications for Business and Education

Expertise cohorts (age, sojourn time in FLOSS community in years)

In how many FLOSS projects are you involved

at present?

In how many FLOSS projects did you

participate since you joined the community?

And how many FLOSS projects did you lead since you joined the

community?

With how many Free / Libre / Open Source

Software developers do you have regular

contact?

young novices (15-25, 0-3) 2,0 8,7 0,8 10,3

young semi-experienced (15-25, 4-5) 2,5 6,6 1,5 8,3

young experienced (15-25, 6-7) 3,0 9,4 1,2 12,6

young experts (15-25, >7) 3,9 15,9 2,2 17,1

middle-aged novices (26-32, 0-3) 3,3 16,9 0,7 5,6

middle-aged semi-experienced (26-32, 4-5) 2,7 4,8 1,3 9,5

middle-aged experienced (26-32, 6-7) 3,3 8,1 1,5 11,0

middle-aged experts (26-32, >7) 3,4 9,5 1,8 12,8

old novices (33-66, 0-3) 2,0 3,2 0,6 13,6

old semi-experienced (33-66, 4-5) 2,4 6,0 0,6 8,3

old experienced (33-66, 6-7) 2,3 6,2 1,1 15,6

old experts (33-66, >7) 3,4 10,1 1,7 11,8

Total (average) 3,0 9,1 1,4 11,7

Numbers in cells are mean values Source: FLOSSPOLS Developers Survey

Facts of FLOSS: Experience

Page 12: Free/Open Source Software: Implications for Business and Education

The FLOSS Business Model

Page 13: Free/Open Source Software: Implications for Business and Education

Paradigm shift:- Services and customization- Why re-invent the wheel when you can reuse components?-Dual license (MYSQL database);• Sell and support Enterprise/Customized Edition

Acceleration of the FLOSS market:- Availability of high-quality software, - Low cost and low barrier to entry, -Total cost of ownership- Save money on licenses Vista Ultimate =$400; Office Professional 2007/Upgrade=$499.95/$329.95, OpenOffice=$0.00- Vendor independence (no lock-ins) and flexibility.

Community Model driven: Industry (IBM, Oracle, Philips, Nokia and SAP) devoted to development and support of specific products.

service-oriented business models where the core profit centre is not pure software development.

Integration: Many GUI tools, applications, servers are provided by more than one company or project. The (Linux/Apache/Mysql/PHP or Perl) LAMP stack!

- eg Eclipse project, JBoss (in most IDEs).

FLOSS and the Software Industry

Page 14: Free/Open Source Software: Implications for Business and Education

Economic Impact of FLOSS

Page 15: Free/Open Source Software: Implications for Business and Education

Category Killer Applications in Europe

Mainly Application (Apache, EU 84%, USA 66%) and mail

Servers (Sendmai, CMail)

Page 16: Free/Open Source Software: Implications for Business and Education

Making money in FLOSS

Some possibilities? Providing value-added services Producing products that are copyright and has no copyleft Providing warranty coverage for the products Provide on-site support, consulting and troubleshooting Provide documentation (neglected) for a nominal fee. Build, package, and distribute your own Linux

(Mark Shuttleworth of Canonical Ltd; the company sponsoring Ubuntu, a Debian GNU/Linux).

Page 17: Free/Open Source Software: Implications for Business and Education

FLOSS and Education:Pedagogies

Page 18: Free/Open Source Software: Implications for Business and Education

SE Now:- Inspired by closed-source software development- lecture formats, timetables, schedules- Teaching specific SE skills in semesters.- Project-based coursework. - Students work in industry to gain practical experience.- Static content, books! books! books!

SE Challenges:- make learning meaningful, relevant- expose students to realistic and meaningful projects/learning- deal with the Ne(x)t generation: infotainers!

Q3: Will industry scarify their software (code) to students?

FLOSS: Software Engineering (SE) Education

Page 19: Free/Open Source Software: Implications for Business and Education

What do FLOSS goers learn?Skills learned in FLOSS I learned a lot

To understand the differences between copyrights, patents, and licences 51,7

To re-use code written by others 48,0

Basic / introductory programming skills 47,7

To run and maintain complex software systems 47,1

To understand licences 47,0

To write code in a way that it can be re-used 46,0

To understand copyright law issues 44,7

To become familiar with different programming languages 44,3

To get an overview of developments in software technology 44,3

To understand patent law issues 40,0

To look for and fix bugs 38,7

To better understand English, especially technical discussion 37,0

To design modular code 35,5

To get an overview of the skills you need in the software professions 33,2

To clearly articulate an argument 27,3

To express personal opinions 27,2

To accept and to respond to criticism from others 27,0

To improve your understanding of liability issues 23,5

To coordinate own work with the work of others 23,4

To understand and work with people from different cultures 22,9

To document code 22,4

To interact with other people 18,6

To evaluate the work of others 18,5

To lead a project or a group of people 17,4

To keep a community going 15,8

To clearly define and achieve targets 14,3

To motivate people 13,0

To create new algorithms 12,4

To settle conflicts within a group 12,4

To plan work and stick to a work schedule 7,1

n = 1453

Page 20: Free/Open Source Software: Implications for Business and Education

Ways to learnPercentage saying this is a very useful way to

learn

Fix bugs 59,1

Other self-study 58,4

Reading source code of programs and patches 55,8

Reading other developers' feedback to my patches / bug-reports / bug-fixes 51,8

Checking programs' for errors and their causes 48,3

Reading books or articles on programming 46,0

Participate in the discussions within the FLOSS community 45,2

Reading bug reports 18,7

Participate in workshops or congresses 16,8

Learning by participating in training courses 11,7

n = 1453

Many routes to learn in FLOSS says Flosscom.net report

Page 21: Free/Open Source Software: Implications for Business and Education

FLOSS Educational ModelMore on the model at: http://sweng.csd.auth.gr/~sksowe/SE%20Education%20FLOSS%20Model/

Page 22: Free/Open Source Software: Implications for Business and Education

Lessons from Pilot Studies 2005-date- Run pilot studies in FLOSS mode - Introduction to software engineering course (Τεχνολογία Λογισμικού)- Students as volunteers in FLOSS projects.- Areas of SE/Τεχνολογία Λογισμικού

Software TestingRequirement AnalysisCoding

Roles- Students:

find and report bugs.Write requirements for FLOSS projectsTake part in coding, download and inspect code

- Mentors: provide useful guidance and support.Email exchanges, face-to-face meetings, group discussions

Page 23: Free/Open Source Software: Implications for Business and Education

Students Activities: Testing example Details on students guides, sample presentations, work

schedules, templates are available at:http://sweng.csd.auth.gr/eclass/claroline/document/document.php?openDir=%2FFOSS

Page 24: Free/Open Source Software: Implications for Business and Education

Some results 2005: Only software Testing

11 studentsbug hunting in 16 different FLOSS projects68 bugs reported (mean=5.23, Std. Dev.= 2.74)43 replies (mean=3.31, Std. Dev.=2.175)

2006-2007: Only Testing21 students in 24 different FLOSS projects105 bugs reported218 replies

2007-2008:39 students spread in 3 different SE activities:

Testing= 13Requirements= 23Coding= 3

Page 25: Free/Open Source Software: Implications for Business and Education

Students Thoughts Students said:

- Very interesting experience- Realistic conditions- Found something new, projects, software, communities, etc.- Experiencing dual-boot (Linux-Windows), using different Operating Systems- Self-esteem: Know the people behind their software and talk to them- Freedom, work when and wherever they want- Select their own choice of learning, project- Communicate and met some new people- See their contribution appreciated and online in projects- Encouragement from people they don't know

For some student:- Finding project was hard- No interesting project or software- Software was not running as expected- Community was not responsive. Community size Not equal to # of responses- Anxiety syndrome: Some not sure if they will do well and get good grades- Extra effort (reading, browsing, learning about project) needed before start

Page 26: Free/Open Source Software: Implications for Business and Education

How and What you can contribute

Page 27: Free/Open Source Software: Implications for Business and Education

Contribute quality:- Submit bug reports.- Suggest new features and options.- Submit some artwork (icons, backgrounds, logos).

Contribute documentation:- Help write and make corrections in project documents.- Translate documents, program text, Website, etc into Greek.

Contribute support:- Answer questions on forums, mailing lists or IRC channels.- Help other people learn how to use FLOSS program.- Write HOWTOs or your experience in using the software- Post whatever you know to a related forum. - Communicate; you will be surprised how valuable you could be.

Contribute publicity: - Write reviews and publications about FLOSS- Attend seminars and workshops-Subscribe and get free Ubuntu CDs and distribute to your friends:

http://www.ubuntu.com/getubuntu

How many can you do?

Page 28: Free/Open Source Software: Implications for Business and Education

Emerging F/OSS SSource SSoftware Practices

Page 29: Free/Open Source Software: Implications for Business and Education

FLOSS Research & Implications for Industry SQO-OSS:http://www.sqo-oss.eu/

- Study, analyze, benchmark, improving the quality of FLOSS code- Remove barriers to FLOSS entry- Proof of FLOSS quality based on existing and new metrics- Target SMEs software development sector

FLOSSMetrics:http://flossmetrics.org/ - Build, maintain, and updated database of FLOSS projects, etc - Provide for exploitation of the result

- Beneficiaries: FLOSS community and SMEs

FLOSScom: http://flosscom.net/ - How learning takes place in FLOSS- Bridge the gap between Formal and informal learning environments- OER initiatives and - Internet as open and participatory learning ecosystem (OPLE)

Page 30: Free/Open Source Software: Implications for Business and Education

Thanks!

Questions?

Comments?