Date post: | 01-Nov-2014 |
Category: |
Economy & Finance |
Upload: | andreas-meiszner |
View: | 3,015 times |
Download: | 0 times |
Title in Black - Arial 40pt
FLOSSCom.net Workshop
Event: Learning with/in FLOSS
Website: http://sweng.csd.auth.gr/
Speaker: Sulayman K Sowe
Email: [email protected]
Place: Aristotle University Date: Thursday, May 31, 2007
Topic & Contents
The Definition and Working Framework Of FLOSS Environments The Definition and Working Framework Of FLOSS Environments
What is FLOSS
What are FLOSS Communities
Members, Roles, and Transition
Learning & Knowledge Sharing in FLOSS
Group learning in FLOSS
Bridging the Learning Context, FLOSS Style (Mark Jewell)
How to contribute in FLOSS
What is FLOSS (ELLAK)
1. Many meanings• Free Software (FS) – Free Software GNU Foundation• Open Source Software (OSS) – Open Source Initiative.• Free and Open Source Software (F/OSS) - Sweng.• Libre Software (LS) - Spain• Free/Libre/Open Source Software (FLOSS) – Flosscom.
2. Concept• Source code is free and accessible to all. People Software• Download/use binaries, executables from Internet.• Freedom to use, modify, distribute, or even sell the software with
little obligations. • No copyright. Copyleft licenses (GPL) grants you the right to do so.
3. Bazaar model with hacker ethos NOT Cathedral• Anyone can participate (Volunteerism) in projects, no contracts,
flexible work schedules, position must be earned through contribution.
What are FLOSS Communities
Special kind of online communities/Communities of practice (CoPs)
• Main Focus: Software development, maintenance, and support.
• Learn new coding techniques, acquire skills, share knowledge.
Communication & Coordination Tools
• Frequent channels: Mailing Lists, Forums, IRC, Newsgroups.
• Software Development: CVS, SVN, Bug trackers/Databases (bugzilla).
What are FLOSS Communities?
Early communities, e.g. Linux
Patches, Bug Fixes, Modifications, Suggestions
Linux Kernel Project Leader
LinuxCommunity
Co-developers‘’Trusted Lieutenants’’
Linux Applications & Utilities
Linux Kernel
Linux release, News, Comments
Most reviewsFew reviews
Online Peer-review, Collaborative
Efforts,Discussions,
Comments, etc.
Mailing list, Forums, Bug Trackers, Revision Control Systems, etc
Mailing list, Forums, Bug Trackers, Revision Control Systems, etc
LUG
Developers, Users,
Vendors, Distros
What to included in next release
A great babbling bazaar of differing agendas out of which a coherent and stable system (e.g. Linux OS) emerged (E. S. Raymond. 1999)
What are FLOSS Communities?
Core team
Members, Roles, and Transition
• In FLOSS projects all users are potential developers. Individuals In FLOSS projects all users are potential developers. Individuals volunteer to carry out project’s tasks.volunteer to carry out project’s tasks.
• Depending on contribution anyone can assume any role.Depending on contribution anyone can assume any role.
• Community Structure described by “Onion” (Crowston, et.al. 2004) or Community Structure described by “Onion” (Crowston, et.al. 2004) or “Concentric” (Sowe, 2007) model.“Concentric” (Sowe, 2007) model.
Significant and Sporadic Contributors
Active Users
Passive Users
What are FLOSS Communities?
(1) Core Team: Usually small (15 people), Project leader and active developers. Decision makers through consultation, contribute most of the project’s code.
(2) Significant/Sporadic Contributors: Peripheral & co-developers. Occasionally submit patches, contribute functionality and new features. Work reviewed by core team. More people than in (1).
(3) Active Users: Use software, report bugs, understands how the software works. More people than in (2).
(4) Passive Users-”Silent majority”: 99% of FLOSS community. Do not contribute to project activities. Just use software, lurk and ask a lot of questions. Potential active contributors to FLOSS.
Floss community members and roles
What are FLOSS Communities?
Transition
Passive Users
Active Users
Transition
Developers
Transition
Role transition/migration
FLOSS communities are permeable. Roles are not fixed
Core team/developers
Co-developers
Transition
Report bugsSuggest new
featuresReview codeSubmit code
Modify code
Answer to posts in Lists/Forums
Fix bugs Implement new features
Integrate code
Manage releases
Mundane project
activities
Essential project
activities
Core project coordination & management activities
ModuleOwner
Group Learning in FLOSS
You want to learn something?
I can’t install this software
Learn
Learn
Learn
Learn
Learn
I have seen how it is done! I will do it laterKnowledge Base
Community
Community
Learning & Knowledge Sharing in FLOSS
What is there to help someone learn?
Because of the wide variety of people participating in FLOSS, knowledge is Because of the wide variety of people participating in FLOSS, knowledge is constructed from a multiplicity of viewpoints and experiences.constructed from a multiplicity of viewpoints and experiences.
MotivationMotivation Type Description
IntrinsicIntrinsic •Creative pleasure (Fun to program)
•Intrinsic Altruism
•Sense of belonging to the community
•Fight against proprietary software
•Learning
ExtrinsicExtrinsic •Reputation among peers
•Extrinsic Monetary rewards
•Future career benefits
•Learning
What is there to help someone learn?
Source code is open and free: -Access to large code base.- Access to professional programmers.- Leading/Latest software. “Release early and release often”
Large, Vibrant, and diverse Communities-There is more than one community to learn from.- Many Linux distributions are similar. Users can access many communities.
Communication and coordination:- Almost everything happen in the mailing lists. - FLOSS projects “do not sleep” (24/7 help). But don’t sleep!- Archives of past and present knowledge. You can revisit and re-learn.- More than one means of communication. You don’t like mailing lists, go to IRC
Some Problems:- Too many projects and communities- How to find which community or project interests you- Skill barriers. Do you have to be a good programmer?- “Noise”, Flame-wars, feuds, RTFM
Bridging the Learning Context, FLOSS Style
Learning Content
Informal
Formal
Context Filters
Expertise
Experience
Interests
Role
Org Positi
onAffiliations
Politics
Objectives
Location
Culture
LearnerFLOSS Community
Group
Individual Contextual
Gap
Bridging the Gap
Learner
Context Filters
Expertise
Experience
Interests
Role
Org Positi
onAffiliations
Politics
Objectives
Location
Culture
Contextual
Gap
Learning Content
Informal
Formal
FLOSS Community
Group
Individual
Expertise
Experience
Interests
Role
Org Positi
onAffiliations
Politics
Objectives
Location
Culture
How to contribute in FLOSS
1. Contribute quality:• Submit bug reports.• Suggest new features and options.• Submit some artwork (icons, backgrounds, logos) to use in the program
2. Contribute documentation:• Help write and make correction in project documents.• Translate documents, program text, Website, etc into Greek.
3. Contribute support:• Answer questions on forums, mailing lists or IRC channels.• Help other people learn how to use the program .• Write HOWTOs or your experience in using the software and post them
in related forums.4. Contribute publicity:
• Write reviews and publications about FLOSS projects.• Attend seminars and workshops.
Thank you for your attention!
FLOSScome is here for you all
ReferenceSulayman K Sowe. (2007). An Empirical Study of Knowledge Sharing in Free/Open Source Software Projects. Doctoral Thesis, Department of Informatics, Aristotle University of Thessaloniki, Greece. May, 2007.