viernes, 29 de marzo de 2013

Netiquette for newcomers (Everyone was a newbie once)


People take different roads  seeking fulfillment and happiness.  Just because they’re not on your road  doesn’t mean they’ve gotten lost.
    Dalai Lama XIV

It is important to note and understand that newcomers and veterans are both necessary for and valuable to the community. For that community should look after newcomers, since they will be the veterans in the future, and without them the community and project is not sustainable.  If a project doesn't make a good first impression, newcomers rarely give it a second chance.

The free communities should offer to newcomers a least:
  •  Setting up a project web site that's infomative to newcomers
  •  A guidelines for newcomers (Beginner's Kit/Etiquette Guide)
  •  A groups of members with few experience. (news.announce.newcomers)
  •  Getting starting section.
  •  Every channel topic is a brief message each user sees when they first enter the channel.
  •  Tasks easy to do.
  •  Assigning a mentor.
  •  Section of common errors.


Newcomers may be annoying to other members of community. They ask the wrong questions, including ones that seem obvious (or whose answers seem easy to find). But lots of valued contributors started out this way, and treating newcomers kindly makes them more likely to turn into the valuable community members.

So while you don't have to humor them or suffer them gladly, and it's fine to point out when they make mistakes, point newcomers in the right direction in addition to turning them away from the wrong ones, and be kind to them in the process of correcting their transgressions.

The community manager should promote online or onsite training events for expert members in general and newcomers in particular.

A good way to determine what to include is to base the document on the questions that newcomers ask most often, and on the complaints experienced developers make most often.

As a project acquires history and complexity, the amount of data each incoming participant must absorb increases. Those who have been with the project a long time were able to learn, and invent, the project's conventions as they went along. They will often not be consciously aware of what a huge body of tradition has accumulated, and may be surprised at how many missteps recent newcomers seem to make. Of course, the issue is not that the newcomers are of any lower quality than before; it's that they face a bigger acculturation burden than newcomers did in the past.


[0] Wikipedia:Please do not bite the newcomers (http://en.wikipedia.org/wiki/Wikipedia:Please_do_not_bite_the_newcomers)
[1] Welcome to the wiki of The Document Foundation Jump to: navigation, search (https://wiki.documentfoundation.org/Netiquette#Dealing_with_Newcomers)
[3] Producing Open Source Software, Karl Fogel

miércoles, 27 de marzo de 2013

Handling Conflict and Relationships


"Reason and emotion are not antagonists. What seems like a struggle between two opposing ideas or values, one of which, automatic and unconscious, manifests itself in the form of a feeling."

Branden, Nathaniel

This is a entry of the most sensitive topics in community leadership, handling conflicts and relationships in the community free software (and in others communities) and is completely based on the book The art of Community by Jono Bacon and I try to make a brief summary.

The Nature of the Beast
    Conflict is part of every communities and projects, sometimes people just don’t get on in, and so you should handle them.
    Conflict is the acid that slowly erodes community, then it causes an uncomfortable and unpleasant environment for volunteers, for that reason Community Manager (CM) should handling conflicts as soon as possible and in a properly way.
    On the other hand, it is important to note that maybe conflicts are proof of a alive community.
   
    - The Structure of Strife
    The members of a community has confident/free-thinking personalities, different incompatible goals/values and personal way of interaction. Typically the participants in the conflict are  often strong personalities who are not afraid to speak up when they are unhappy. Community Manager should perceive goals and values of members.  The manner in which these personalities interact that causes the strife, and Community Manager should perceive the real reality of members in conflict.
    Conflict resolution in a volunteer community is very different from conflict resolution in a formal organization such as a company or a government agency, because community members usually are volunteers and also don't want lots of conflicts in their "hobby".

The Calm Before the Storm
    Frankly, experience is the academy for handling conflicts, every conflict teaches you a new lesson. CM should have the ability to detect a conflict as soon as possible, although every community and member is different, Community Manager should have the enough knowledge for that.    

    - Contentious Personalities
         In principle, everyone in a volunteer community is welcome to join and participate, there is not filter about personalities, openness as the norm.
            Community Manager should profiling the polemical understanding personality differences, there are reasons for that differences: age, culture, opinions, and experience. it is essential to understand the importance of allowing people to mature in these attributes.
            Sharing feedback about personality issues: Communicating feedbacks sometime are unpleasant, but it is the right thing to do. CM should gently and sensitive manner share every feedback, and for doing that it is important to note the email and chat channels are not the right mediums for this kind of feedback.
            It is a pity but in community sometimes are poisonous people. But we should keep in mind that expressing concern does not make people poisonous, but privately discussion against community does, discussion and debate must be in the common communication space. CM should identify poisonous people and watch them carefully.
        - Barriers to Input: The community ought to have the slogan "community should always feel that their input and contribution is welcome". Therefore it is important for Community Manager to handle communities with commercial sponsor and members paid for it and volunteers.
    There should be resources that encourage people to submit their ideas and views, for instance, mailing lists, brainstorm website, public IRC channels, sponsored  developer participation.
    Community Manager should ensure that feedback, opinions, and ideas are discussed, considered, and engaged with.
        - In communities are usually leaders in some areas where may appear problems with responsibility, like governing members, team leaders, community managers, and sponsored leaders. And for each of them the community will expect a certain degree of professionalism, responsibility, and responsiveness.
     In community should avoid a single person has too much responsibility and control over a given part of the community, because it could be a bottleneck.
        - Lack of Justice: Justice must be done and it must be seen by community to be done. Every member's conflict must be dealed by Community Manager.

The Conflict Resolution Process
  1.     Calm and reassure.
  2.     Get the facts.
  3.     Discuss.
  4.     Document.
  5.     Reflect and maintain.

    The Role of a Facilitator
    Community facilitator or mediator must secure the trust and confidence of the conflict parts. The profile of the facilitator must
            Be objective: There are a few simple best practices: Be honest, admit when you are wrong, don’t wear the flame suit, don’t be afraid
            Be positive: Conflict is not fun for anyone involved, but positive stance and good humor can break down strife.
            Be open: Equality with all participants in the conflict
            Be clear: Facilitator has to communicate clearly to all parties involved the expectations: Solutions are the goal, evidence is central, conduct must be under control, and compromise is the modus operandi.

Dealing with Burnout
    Detecting and Treating Burnout
    Required rest and relaxation
    Work/Life Balance
    Addiction

Handling Absence
    Firstly, it is to ensure the community member is ok, and help him it is possible.
    There are many reasons why people may leave, but they can be broadly divided into three categories: Planned, gradual and abrupt. The community manager should always encourage a culture in which your community members inform one another when they are going away for a while and also encourage a culture of leaders stepping down gracefully.

Handling Bereavement
The death of a community member can be a challenging and difficult time. Although this was a sad time, the way the community came together to support one another, celebrate member’s memory, and be there for one another as a family was a memorable and
warming experience. 

References:
[0] The Art of Community (Jono Bacon) http://www.jonobacon.org/2012/12/06/the-art-of-community-update/

sábado, 12 de enero de 2013

10 most successful open source projects of 2012

1.- Apache Hadoop

 The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-avaiability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-availabile service on top of a cluster of computers, each of which may be prone to failures.

Developer(s):      Apache Software Foundation
Business model: R&D cost sharing, Platform Providers
Licenses:      Apache License 2.0
Created date: 27 December, 2011: release 1.0.0 available
Used by: Yahoo, Google, Facebook, Amazon.com, Ebay, Dell, Apple, HP, NetApp, IBM, ...

References:
[0] http://hadoop.apache.org/
[1] http://content.dell.com/us/en/enterprise/d/business~solutions~whitepapers~en/Documents~hadoop-business-cases.pdf.aspx


2.- MongoDB

MongoDB (from "humongous") is a scalable, high-performance, open source NoSQL database. Written in C++, MongoDB features: Document-Oriented Storage, full Index Support, replication & High Availability, auto-Sharding, querying, fast In-Place Updates, map/Reduce, gridFS and commercial Support.

Developer(s): 10gen
Business model: Dual licensing,
Licenses: GNU AGPL v3.0 (drivers: Apache license)
Created date: 2009
Used by: ETSY, Disney, Graigslist, Foursquare, The New York Times

References:
[0] http://www.mongodb.org/
[1] http://www.10gen.com/products/mongodb-subscriptions

3.- OpenStack

OpenStack is an Infrastructure as a Service (IaaS) cloud computing project that is free open source software released under the terms of the Apache License. The project is managed by the OpenStack Foundation, a non-profit corporate entity established in September 2012 to promote, protect and empower OpenStack software and its community.

Developer(s): Founded by Rackspace Hosting and NASA, OpenStack has grown to be a global software community of developers
Business model: Platform Providers, R&D cost sharing
License(s):  Apache 2.0 license
Created date: In July 2010, Rackspace Hosting and NASA jointly launched a new open source cloud initiative known as OpenStack.   
Used by: NASA, HP, AT&T, Deustche Telekom, Ubuntu, IBM, Nebula, Rackspace, Red Hat, SUSE [1]

References:
[0] http://www.openstack.org/
[1] http://www.openstack.org/foundation/companies/

4.- Pentaho

Pentaho built a big business in business intelligence, integrating with Hadoop partners as well as NoSQL companies. It also had a big year in raising capital and winning customers. While those in the know recognize Pentaho for the powerhouse it is, if you are not in its market, it may be new to you.

Developer(s): Pentaho Corporation
Business model: Dual licensing
License(s):  Pentaho Community Edition (CE): Apache version 2.0; Pentaho Enterprise Edition (EE): Commercial License
Created date: 2004
Used by: HP, Red Hat, Cloudera, MySQL, Accenture

References:
[0] http://www.pentaho.com/

5.- PostgreSQL

PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness.

While there has been a lot of noise around NoSQL databases, the traditional relational database space has not exactly dried up, either. While many view Oracle's ownership of MySQL as the worst thing that could happen to open source databases, it has opened a window for another open source SQL database to gain traction. PostgreSQL and EnterpriseDB, the company selling commercial support and services for PostgreSQL, have been on a great roll lately.


Developer(s): PostgreSQL Global Development Group
Business model: R&D cost sharing, Dual license(EnterpriseDB)
Licenses: PostgreSQL licence
Created date: 1989
Used by: Skype, Reddit, State Farm, Sony Online, Instagram, EnterpriseDB

References:
[0] http://www.postgresql.org/
[1] http://www.enterprisedb.com/products-services-training/subscriptions

6.- Joomla

Joomla is a free and open source content management system (CMS) for publishing content on the World Wide Web and intranets and a model–view–controller (MVC) Web application framework that can also be used independently. What has really helped Joomla is positioning itself as a platform that supports lots of different apps and extensions to give users more power and flexibility in building a Web presence.

Developer(s):  The Joomla Project Team
Business model: Platform Providers, Selection/consulting companies, Product specialists
Licenses: GNU General Public License v2
Created date: Joomla was the result of a fork of Mambo on August 17, 2005.
Used by: Over 35 million downloads

References:
[0] http://www.joomla.org/

7.- WordPress

WordPress is a free and open source blogging tool and a content management system (CMS) based on PHP and MySQL. While Joomla positions itself as a Web platform, WordPress has made its bones as the blog platform of choice. There are claims that WordPress is the most popular WCM platform, but it's hard to know for sure. What I do know is that I use WordPress for my personal blogs, and I love it. The plug-in catalog continues to grow. There is virtually nothing you can't do with a WordPress blog. While security concerns were an issue in years past, we don't hear as much about them anymore.

Developer(s): WordPress Foundation
Business model: Platform Providers,  Indirect revenues,  WordPress.com is run by Automattic which currently makes money from the aforementioned upgrades, blog services, Akismet anti-spam technology, and hosting partnerships.
Licenses:  GNU GPLv2 (or later)
Created date: May 27, 2003
Used by: CNN, Forbes, Reuters, Mashable, The New York Times

References:
[0] http://wordpress.com/


8.- DotNetNuke

DotNetNuke is a web content management system based on Microsoft .NET. The Community Edition is open source.
There are two commercial editions of the software with increased functionality compared to the community edition, and technical support.

Developer(s):      DotNetNuke Corporation
Business model: Open Core, Dual license
Licenses:  MIT
Created date: 2006
Used by: Microsoft

References:
[0] http://www.dotnetnuke.com/
[1] http://www.dotnetnuke.com/Products/Compare-Editions.aspx

9.-SugarCRM

SugarCRM is a software company based in Cupertino, California. It produces the web application Sugar, also known as SugarCRM, which is a customer relationship management (CRM) system that is available in both open source and Commercial open source applications. With the following products: Sugar Community Edition, Sugar Professional, Sugar Corporate, Sugar Enterprise and Sugar Ultimate

Developer(s): SugarCRM
Business model: Open Core, Dual license
Licenses:  SugarCRM Public License (based on the Mozilla Public License and the Attribution Assurance License)
Created date: 2004
Used by: Sharepoint, Lotus Notes, Yahoo Mail, Outlook, Gmail

References:
[0] http://www.sugarcrm.com/
[1] http://www.sugarforge.org/

10.- Audacity

Audacity is a free digital audio editor and recording application. While not a big commercial success like the rest of the open source projects on this list. If you have to work with audio files, Audacity sets the bar for ease of use and powerful tools. It has been downloaded something like 70 million times.


Developer(s):      The Audacity Team
Business model: Not yet, they are looking for sponsors (corporations, foundations, individuals, ...) who love Audacity and would like to pay them to develop it at a faster pace then they're developing now.
Licenses:  GNU General Public License v2
Created date: 2002
Used by:  General public (5.200 downloads per week)

References
[0] http://audacity.sourceforge.net/

General references:
[0]NetworkWorld - 10-most-successful-open-source-projects-of-2012

Carlo Daffara taxonomy (FLOSSMETRICS) of business model and examples

  1.     Dual licensing, e.g. MySQL, Mozilla software, Sleepycatdb, Pentaho
  2.     Open Core, e.g. Zimbra, SugarCRM, Eucalyptus, SendMail
  3.     Product specialists, e.g. Alfresco
  4.     Platform Providers, e.g. RedHat, OpenStack
  5.     Selection/consulting companies, e.g. Navica, Open WebApps
  6.     Aggregate support providers, e.g. OpenLogic
  7.     Legal certification and insurance, e.g. Palamida
  8.     Training and documentation, e.g. Gbdirect
  9.     R&D cost sharing, e.g. Eclipse, Webkit, OpenStack, Maemo (Nokia)
  10.     Indirect revenues, e.g. Firefox, Android, Perl (O'Reilly)
Dual licensing
  • Economic advantage for the vendor
    • Dissemination for the product with reduced costs
    • Creation of external ecosystem of add-ons (outside the source)
    • Visibility
    • Self-segmentation of the market
  • Economic advantage for the adopter
    • The adopter may opt for the open source edition if it is deemed sufficient; for the proprietary part, reduction in cost may give better price/quality ratio
  • Potential disadvantages of the model
    • Low external participation (limited code contributions)
Open Core
  • Economic advantage for the vendor
    • Reduction of R&D
    • Reduced maintenance costs
    • Visibility
    • Increased dissemination
    • External ecosystem of add-ons
    • Self-segmentation of the market for the proprietary add-ons    
  • Economic advantage for the adopter
    • The adopter may opt for the open source edition if it is deemed sufficient; for the proprietary part, reduction in cost may give better price/quality ratio
  • Potential disadvantages of the model
    • Difficult to estimate the right balance between open and closed parts
    • External groups may create substitutes for the proprietary parts    
Product specialists
  • Economic advantage for the vendor
    • Reduction of R&D
    • Reduced maintenance costs
    • Visibility
    • Increased dissemination
    • External ecosystem of add-ons    
  • Economic advantage for the adopter
    • Reduction in cost may give better price/quality ratio for the adopted software
    • Stability
    • Integrated support reduces external costs
  • Potential disadvantages of the model
    • Low barrier of entry for third-parties
Platform Providers
  • Economic advantage for the vendor 
    • Reduction of R&D
    • Reduced maintenance costs
    • Visibility, increased dissemination
    • External ecosystem of software and additions
  • Economic advantage for the adopter
    • Reduction in cost may give better price/quality ratio for the adopted software
    • Stability
    • Integrated support reduces external costs
    • Legal protection is included
    • Easy to find trained personnel
    • Availability of long-term options    
  • Potential disadvantages of the model
    • Platform engineering requires large R&D efforts even with shared resources
Selection/consulting companies
  • Economic advantage for the vendor 
    • Cost of software certification and selection can be partially shared across customers, as most adopters have a large share of common needs    
  • Economic advantage for the adopter
    • Reduced selection costs
    • Reduced risk of wrong choice
  • Potential disadvantages of the model
    • Limited market
    • Difficulty in following rapid evolution of the products covered (evaluation costs)
Aggregate support providers
  • Economic advantage for the vendor 
    • Cost of support can be partially shared across customers
    • Economies of scale
  • Economic advantage for the adopter
    • A single point of control and cost for a large number of project
    • Reduced negotiation efforts for large number of individual vendors
    • Simplified management and governance
  • Potential disadvantages of the model
    • Limited market
    • May be perceived as in partial competition with existing specialists
Legal certification and insurance
  • Economic advantage for the vendor
    • Cost of legal certification and secondary-level insurance can be shared across the most used OSS projects
  • Economic advantage for the adopter
    • Equivalent to insurance
    • Provides a materialized and stable costs against uncertain, difficult to quantify negative events
  • Potential disadvantages of the model
    • Limited market
    • Difficult to estimate risk probabilities
    • Need to cover separate legal frameworks across the world with different rules
Training and documentation
  • Economic advantage for the vendor 
    • A significant portion of training development costs can be shared across customers
    • Economies of scale
    • Reuse of community-developed material
  • Economic advantage for the adopter
    • Lower cost for training compared to self-managed training (from source code, publicly available documentation)    
  • Potential disadvantages of the model
    • May be perceived as in partial competition with existing specialists
    • Human intensive
    • Most of it cannot be replicated at low cost
       
R&D cost sharing
  • Economic advantage for the vendor 
    • Reduction of R&D
    • Reduced maintenance costs
  • Economic advantage for the adopter
    • Same as vendor- in this case, vendor and adopter coincide
  • Potential disadvantages of the model
    • Estabilishing the management and contribution structures may be complex and costly, requires constant effort
Indirect revenues
  • Economic advantage for the vendor 
    • Source availability reduces engineering costs
    • Increase visibility on multiple platforms
  • Economic advantage for the adopter
    • Adopters obtains a quality product at no cost
    • Potential large ecosystem for extensions    
  • Potential disadvantages of the model
    • Requires a large external market for incentives
    • May be dependent on a single (or small number) of actors increasing risk

[1] http://docencia.etsit.urjc.es/moodle/pluginfile.php/13408/mod_resource/content/1/03-business-models.pdf
[2] OSS Business models table

martes, 27 de noviembre de 2012

Affero GPL

La comunidad de software libre es importante que tenga consciencia que en el nuevo marco de servicios en la nube, para preservar la libertad del usuario y evitar la distribución del software como servicio (SaaS) sin distribuir el codigo fuente, existe licencias como Affero GPL que nos protege.

En teoría, un programa con licencias GPL podría ser "distribuido" como SaaS  y evitar cumplir con los requisitos de la GPL.

Affero GPL v3

Why the Affero GPL

Licencias libres Creative Common

Cuando un autor se plantea utilizar una licencia Creative Common tiene que tener en cuenta que no todas son licencias son libres en el sentido del software libre.

Consideremos la lista de licencias Creative Common libres:

permissive

Reconocimiento (by): Se permite cualquier explotación de la obra, incluyendo una finalidad comercial, así como la creación de obras derivadas, la distribución de las cuales también está permitida sin ninguna restricción.



strong copyleft

   Reconocimiento - CompartirIgual (by-sa): Se permite el uso comercial de la obra y de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

domingo, 25 de noviembre de 2012

Clausulas antipatentes en la licencias de SW libre

La licencias de software libre han tenido que ir adaptando sus clausulas para incluir clausulas antipantentes.

En GPL v2 se incluye la siguiente clausula en la sección 6:
You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.  


En GPL v2 se incluye la siguiente clausula en la sección 7:
If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.  

En GPL v3 y Affero GPL v3 se incluye la siguiente clausula en la sección 10:
you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 

En GPL v3 y Affero GPL v3 se incluye la siguiente clausula en la sección 11:
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.  

En Apache License 2.0  se incluye la siguiente clausula en la sección 3:
Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted.

If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.  


En MPL 2.0  se incluye la siguiente clausula en la sección 5:
If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. 

En MPL 2.0  se incluye la siguiente clausula en la sección 2:
Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: [...] under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.  

Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: [...] under Patent Claims infringed by Covered Software in the absence of its Contributions.