Monday, October 31, 2011

KDE Program: Mission and Goals


The last weeks I've been putting some effort in thinking about how KDE (and any free software community) can build a network of organizations taking in consideration the weaknesses and strengths KDE (or any other FLOSS project) have.

I wrote a few posts about previous ideas I thought it should be taken in consideration before putting effort in defining a formal design for a Program that leads us to the discussion and execution of an action plan.

Now the idea is to define the Mission and Goals of such a program. In order to understand why of the following ideas, I recommend reading previous posts about this topic in my blog:

Some preious ideas about building new ecosystems around free software projects (I, II, III, IV and V)

Mission

Since we develop and publish KDE for free (as free beer), organizations usually do not understand well where our value is and how can they take advantage of it in a way our ecosystem is nourished, which is essential to keep the wheel spinning. Most organizations, especially corporations, associate value with money. This classical, product oriented, point of view must change in order for us to be recognized as we think we deserve. We can improve the way we communicate our value associating networking (as a service) to our software.


So the KDE Program Mission is:
  1. Helping organizations to know us, what we do and how we do it, so they appreciate the value of KDE and support our action.
  2. Giving them something valuable associated with our software, affordable for KDE, that allow them to increase the chance to grow.

Both ideas can be summarized:

The mission of such a project is to create a global, sustainable and structured network of organizations that shares KDE principles and interests.


KDE Program Goals

Major Goal

The major goal of the KDE Program (KDEP) is to establish the conditions and develop the actions needed to create a network of organizations committed to KDE principles and goals. This network will evolve in an ecosystem by increasing the relations among them and with the KDE community.

This network/ecosystem will be defined to grow, not just in number but in value, satisfying its members shared goals.

Other goals

Other goals of the KDEP are:
  • Present KDE as an attractive opportunity for organizations to become part of a global network that will benefit all of us.
  • Increase the number of organizations involved with KDE.
  • Improve KDE’s relationships with other organizations.
  • Create new business opportunities for those organizations involved in this Program.
  • Support local teams. Relations grow better in common environments.
  • Open job opportunities for KDE developers.
  • Increase the number of new developers so we make sure the new ecosystem can grow.
  • Spread KDE principles and vision to other organizations.
  • Feed KDE with third party experiences, knowledge, technologies, etc.

One of the things that is taking me some time is to look for a proper name for such a program. Any help is welcome.

Tuesday, October 25, 2011

KDE at the Libre Software World Conference 2011

Libre Software World Conference (LSWC'11) is the most important commercial event related with Free Software in Spain. It is organized by ASOLIF, the National Federation of SME's Free Software Associations. As you might remember, I was its Manager Director just a few weeks ago.


Last year it was organized in Málaga, Andalusia, and this year it will take place in Zaragoza. The regional Association from the region, CESLA, along with the Municipality, play a key role in the organization of the event.


This edition includes the Joomla Day and the Python Day, which will help bringing to the LSWC'11 even more people than last year, specially technicians, which I think is really good. The event will take place on November 9th and 10th.The following two days, Zentyal celebrates it first Zentyal Summit in the same place. Zentyal contributors , partners, users and employees from all over the world will meet there to take this Free Software Business Server one step further. A lot of good news will come out of it.

Representing KDE Spain, I will give a conference called KDE as a solution in business environments. It is scheduled on November 10th at 10:30 a.m. Although there are several activities at the same time, I expect a lot of people attending since it take place in the central room. That is pressure :-)

As you can see in the program, more than 70 talks and workshop are scheduled. More than 100 companies will be there and more than 500 atendees will participate those two days.

By the way, Microsoft is sponsoring the event.

Wednesday, October 19, 2011

Some previous ideas about building new ecosystems around free software projects (V)


Related to our topic, the most relevant internal factors /strengths and weaknesses) I can think of are the following:

Strengths

  • Passion.
  • Collaboration. Sense of community/identity.
  • Worldwide project.
  • Prominent FLOSS project. Well known brand.
  • Leading technology. Innovative.
  • Well defined product (software).
  • Broad base of skills.
  • Efficient development process.
  • Economically sustainable.
  • Internal communication.


Passion: KDE, like other community projects, is formed by people passionated about what they do and aboutfreedom.

Collaboration. Sense of community/identity: this culture make them extremely efficient and determined when decisions are taken, reaching goals that might seem impossible.

Worldwide project: KDE is a worldwide project, with active members all over the world, that speaks in many different languages and come from many different cultures.

Prominent FLOSS project. Well known brand: KDE is one of the current leading free software projects in the world and its brand has a high value, not just because of the product delivered, but because of the clear identity behind it.

Leading technology. Innovative: KDE develop some of the most interesting technologies in the software industry for desktops.

Well defined product (software): KDE Platform, KDE Workspaces and KDE Applications form a whole product that give answer to millions of user needs all over the world.

Broad base of skills: KDE is formed by people with many different skills, experience and motivations. It is a rich community.

Efficient development process: to develop and deliver the product throughout 15 years, KDE have a
complex, efficient and innovative development process. Coordination.

Economically sustainable: KDE is todays an economically sustainable project. Budget control and management is efficient.

Internal communication: KDE has solid communication channels and procedures with high participation.


Weaknesses

  • Weak marketing culture. Lack of experience.
  • Lack of resources for non technical activities.
  • Complex ecosystem.
  • Complex decision making process.
  • Diffuse points of contact.
  • Self criticism.


Weak marketing culture. Lack of experience: marketing haven't been a priority in the past. We can do much better in this area.

Lack of resources for non technical activities: some non technical areas need more manpower.

Complex ecosystem: KDE is a big project with a complex structure. It is not easy to understand it when you come from traditional organizations.

Complex decision making process: because of its nature, some kind of decisions are hard to make in KDE. This is common to most community driven projects.

Diffuse points of contact: approaching KDE can be hard to do since we lack of globally defined roles. Some knowledge of how KDE work is needed to make the approaching process efficient, specially for non technical issues.

Self criticism: KDE has a strong sense of self-criticism, which is really good for internal processes, but harmful if it is made public continually focusing on weaknesses.

Once again, if you think some other elements must be added, feel free to make comments to this post.

Tuesday, October 18, 2011

Some previous ideas about building new ecosystems around free software projects (IV)


After the previous three articles about very basic previous ideas to take in consideration before designing an engagement program for organizations, we need to think about what are going to be the concepts to base our program on.

To have a better chance to succeed, we have to build our program on our strengths and not on our weaknesses. In order to identify those strengths, I've made a simple SWOT diagram.

This entry will describe the major opportunities and threats I see that might affect to our plan of building new ecosystems with organizations.

Opportunities

  • Free Software culture expansion.
  • Desktop – web relation.
  • Free Software business models success.
  • KDE has millions of users.
  • KDE cross platform strategy.
  • Software everywhere.
  • Increasing market pressure over Universities to include free software topics.
  • Free Software seen as strategical for by many countries.

Free Software culture expansion: more and more organizations are interested in crowd sourcing techniques and in collaboration processes like the ones we use for software development. Movements like Open Data, Open Gov. Free Culture, copy-left, Free hardware, etc. are strongly related to the free software culture. Some of those movements are interesting for many organizations. A community project like KDE can expand his influence to other areas.

Desktop – web relation: interaction between the desktop and the web, along with the irruption of small devices, can allow us to expand our influence to the web world, where many organizations are extremely interested.

Free Software business models success: more and more organizations, specially companies, are developing free software business models where upstream collaboration is seen as a good value.

KDE has millions of users: KDE have millions of users so we are a good target for organizations that wants to reach them.

KDE cross platform strategy: KDE is a multiplatform and multidevice project. There is a shiny future ahead of us if we keep pushing in the current direction.

Software everywhere: software is becoming strategical in many industries. Free Software is becoming popular is most of them. KDE has more and more open markets every year.

Increasing market pressure over Universities to include free software topics: since free software is getting popular in IT industry, the pressure over Universities and other Education organizations is much bigger than in the past. This mean that the cost for KDE to find potential contributors will decrease.

Free Software seen as strategical for by many countries: more and more countries are defining national IT strategies around free software due to political, social and economic reasons. This will open us new markets.

Threats

  • Classic Free Software threats like software patents, closed formats, etc.
  • Key players without a clear and stable strategy.
  • Increasing our relations scope.
  • Management.
  • Resource dimensioning.

Classic Free Software threats like software patents, closed formats, etc: KDE and any action we take toward building new ecosystems with different types of organizations are permanently threatened by them.

Key players without a clear and stable strategy: because of different reasons, many stakeholders that traditionally or lately have been supporting KDE, change their strategy often. Although KDE has proven in the past to be good at isolating the impact produced by them, tensions might increase in the future.

Increasing our relations scope: KDE has been very successful at attracting technical contributors and other non-profits related with free software. It is not clear that we can extend that success to other type of organizations.

Management: KDE will face some management challenges in the near future due, among other factors, to the growth rate it is experimenting. Increasing the ecosystem to other type of organizations will stress even more the actual management resources.

Resource dimensioning: overload takes any organization through many non desired consequences like quality decrease, internal tensions, expenses, management inefficiencies, etc. Like in any community project, properly resource dimensioning and control is specially difficult, since our community is formed mostly by volunteers.

Isolation from the free software-business relation: KDE, like other free software communities haven't been in the past very interested in the business side of free software. We are more technical focused. The increasing economic success of free software will force us to put energy into this area to avoid isolation.

Yes, there are probably many more, but I hope most of them are somehow included in these ones. Otherwise, feel free to add more through comments to this blog post.

Wednesday, October 12, 2011

Some previous ideas about building new ecosystems around free software projects (III)

In order to fully understand this post, you will need to read the previous two of this series Some previous ideas about building new ecosystems around free software projects (I and II).

As every community, KDE has members with key positions within some organizations. Some of these can be considered already part of our network of companies. A little group of them can even be considered part of KDE ecosystem. But they are just a few. There are hundreds of organizations out the re that agree with our principles, that use our technologies, that deploy it, support users, teach the tools we use or develop......Many of them would be willing to collaborate with us, or even build a strong relation. 

Free Software communities have a lot to teach to organizations. We are great examples of how a complex product can be developed openly. Just a few organizations out there can compare their products and impact with ours. So why it is so hard for us to involve more organizations in our free software projects?

To answer this question, I will go back to some questions made at the end of the first post of the series:

  1. What do we want from organizations?
  2. What can we offer them?
  3. What do they want from us?

1.- What do we want from organizations?

I haven't done a wide research among KDE members, but it is not hard to point the most popular answers, depending on the type of organization we are talking about (remember that we are focusing in three different types):
  • Education related organizations:
    • KDE promotion among teachers and students.
    • Collaboration with KDE and local companies in KDE's development.
    • Collaboration with KDE through P&D projects.
    • Including community driven development process and KDE tools in their programs.
  • Corporations/SME:
    • Funding KDE.
    • Adding resources to the project.
    • Hiring KDE members and promoting they have time to contribute to KDE
    • Sponsoring our events.
    • Support our marketing actions.
    • Coordination in technical and strategy decisions related with KDE.
    • Participate in the testing/QA/support phases of the KDE software life cycle.
    • Share contents related with KDE.
  • Non profits:
    • Advise/consultancy
    • Improve our relations with Govs., other non-profits, representatives from no IT sector, media, etc.
    • Funding KDE.
    • Adding resources to the project.
    • Sponsoring our events.
    • Support our marketing actions.

Please feel free to add a comment if you thinks there's something missing.

2.- What can we offer them?
  • Our software (product)
  • Services:
    • Consultancy in many different areas related with software development, tools, design, etc.
    • Networking with organizations and people around the world.
    • Exposure.
    • Branding.
    • Content creating related with our software.
    • Technical support.
    • Training.

There are some services could be also some services that, even though we can offer them, the resources needed in case of success do not scale, for example. I mean that some services can only be offered with guarantee under certain circumstances.

3.- What do they want from us?

The most common not pure technical request usually are:
  • Many organizations related with KDE frequently come to us looking for technical support. 
  • We have had in the past requests to associate our branding with different kind of organizations. Partnership programs are becoming popular among free software projects lunched by a company or a commercial consortium. 
  • Sometimes we recieve request from companies that encourage us to change our schedule, giving priority or claiming for certain new or past features.
  • Since KDE is what they see/use, sometimes they assign to us bugs that are in fact somebody else's responsibility. Distros share with us this problem.
  • Contents are a common request from organizations. Howto's, User Guides, etc.
  • Translation is also a common request. Even though we make a huge job in every release, it is impossible to launch our software and our contents in every single language.
  • Consistency is another request. Since in KDE you can run all kind of applications, not just KDE ones, it is impossible to manage every problem related to this.

Like in the definition process of every strategic plan (that is exactly what we are doing), these answers must be prioritize for every type of organization. The above are not in order.

In a simple world, matching what we can offer with what organizations want (for every type ) give you a good idea of where to point our strategy. But there is another important question that we have to answer before making any conclusion.

What do we want to offer?

Every Free Software community have its own culture based on strong principles, as explained in the second post of this serie. So there are certain services that we CAN offer but, for different reasons, we DON'T WANT to. Some other services are very hard to scale.

Many of the people/organizations that approaches us really don't understand who/what we are. Note: we have to do a lot more in this area... So for them some things seem obvious and they are not. In this discussion related with services, that statement is also true.

I assume that KDE would want to offer, in addition to our product, services that share these characteristics:

  • Aligned with our culture.
  • Adds value to our product and the receiver, but also to our community.
  • Scalable.
  • Require more manpower on areas we are stronger. This mean that what we should offer must lay on our strengths, not our weaknesses.
  • Not required high availability, wich means that should not lay on specific people. KDE contributors are not full time employees in most cases. 
The following step is defining the ideas and concepts that will support the Program that can take us to building a Network of organizations that could evolve in the future into a healthy ecosystem.

All the above are my points fo view, even though sometimes I use we.

Wednesday, October 05, 2011

Some previous ideas about building new ecosystems around free software projects (II)

Some definitions

The first step I've been doing lately in order to try to write some ideas about a network  of organizations around KDE is to read a little about basic definitions. We need to have definitions in mind in order to use them properly.


Network (social)

Please check the definition from Wikipedia. It is important to understand that:
  • A network implies interdependency between nodes.
  • Wikipedia is explicit about knowledge and prestige as two types of interdependency between nodes.
Communiy

Please check the definition from Wikipedia . We need to keep in mind that:
  • A community share common values
  • Those values along with the interactions between community members generates a shared identity.
  • Community comes from latin, meaning "in common". Communis is a complex word: com + munis. Com is "cooperator" and munis means "helpful", "who fulfills his duty". These ideas are present in our mind when we think about KDE, right?
Ecosystem

Most of the readers remember this definition from school. There are a few points about it that will be important for this and the following articles:
  • An ecosystem involves living beings along with physical factors that affects them.
  • The concept do not depends on dimension.
  • Ecosystem implies that its members depend on each other.
  • A healthy ecosystem is sustainable, an unhealthy one it is not.
  • An ecosystem is said to be healthy when is balanced.
  • The balanced concept is strongly related with the reproduction of the species within the ecosystem.
These three concepts are going to be very popular in this series of post about building an ecosystem of organizations around free software projects, like KDE.


Understanding what we already have

To build a network of organizations around KDE we do not begin from scratch. Around KDE there are a few organizations that somehow "belong to KDE", I mean, most of us feel they are strongly related to our community. 

What kind of relation do we have with them? What do they have uncommon? Why it is so easy and natural for them to be part of KDE and so hard for others, even for many of those that use and help us to develop our software?

An ecosystem is formed by different type of "species" that are related to each other in different ways. If we do not understand the relation we have with these "KDE organizations" and how they were built, we will have a bigger chance of failing in our goal.

Please feel free to answer to these questions via comments on this post, e-mail, etc. 

I think there are three key points to mention:
  • Many of these organizations are founded by people that were previously KDE community members. This element is common to other communities. I know a few cases in GNOME and Debian, at least.
  • A significant percentage of their workforces are KDE community members, some of them are "primary nodes" and its business largely depends on technologies developed or used by KDE. Collaboration comes naturally.
  • They have a culture as organization influenced or aligned with KDE principles which reduces frictions in case of conflict.
My conclusion is that these "KDE companies":
  1. Understand our culture.
  2. Participate in our evolution as community. 
There are many organizations related to KDE, obviously, but just a few have both characteristics, which define, in my opinion, the strong relation with KDE. Some only have one of them and are not visualized internally like "part of KDE", at least not in the sense of "belonging to our ecosystem".

The first factor is about knowledge, about experiences, about philosophy and ethics. It is about those fundamentals that every free software project share, but also about those that define every one of them, making them slightly different. Definitely, it is about people and relations.

The second factor is about procedures, about resources, about technology, about impact, branding, exposure...... 

In order to build a healthy ecosystem, formed by organizations, around KDE (any free software project), the project design needed, the derived action plan, every activity or service involved, must have as a basic goal to improve those two key factors as if they were linked, since they have proven to be necessary to generate long term relations. Otherwise, the ecosystem might not be sustainable, and the enormous effort involved in creating it will be somehow wasted. 

Maybe there are other approaches, but I haven't been able to understand them or there is no clear evidence of success yet.

Tuesday, October 04, 2011

Some previous ideas about building new ecosystems around free software projects (I)


There are a few free software projects out there that have been very successful through the years in attracting developers and building awesome development environments. KDE is one of them. Every new version of our KDE 4.x series is the result of a complex proccess made by hundreds of people working remotely as a well structured group of coordinated teams. We haven't stop growing during our 15 years of existance and the impact and scope of our work is now wider than ever. Several other free software projects are experimenting similar behaviors.

The result of our huge work has a great technical and commercial value. It is also a good testing/learning field for the people involved. Their professional careers add value by becoming part of projects like KDE. Big corporations are aware of this and it is common to see them hiring people in community events or trying to influence free software projects in many ways. 

Relations between mature free software projects and big companies have been always complex. Along with the growth of free software in market, conflicts are increasing since corporations are adding more pressure into community projects. Many of them are commercializing products/services based on technologies supported or developed by these communities and we do not always have the same goals. The recent conflicts between GNOME/Canonical, KDE/Nokia, Kernel/Google, MeeGo/Nokia-Intel, LibreOffice/Oracle, MySQL/Oracle are just some examples. More are yet to come.

On the other hand, these multinational companies had put resources and money on our projects allowing us to become what we are now. By using and building their strategies around our/their work, they have helped us to reach millions of users. We do have a huge impact because of them too.

Smaller companies: new players

During the last few 3-4 years we are experimenting how some smaller companies are becoming part of our ecosystem. Some of these companies fit very well because they were founded by community members, but some others simply understand the benefits of building their products and services staying close to the decision forums, adding resources to the development proccess, so they ensure they know the technology. This small but innovative companies usually have a strong free software culture. Their size do not allow them to have their own strategy around the technology so becoming part of our ecosystem is a major goal for them, not a temporary effect of his own strategy.

The irruption of these smaller companies is also good news for corporations. It is easier for them to build a commercial and development channel laying in companies that participates in the development of the technology they use. Since software is getting more and more important, every helpful hand is welcome.

So it is easy to end up thinking about how good it would be to increase the number of smaller companies involved in our free software projects.

Grow locally

In parallel to this, KDE, and other community projects, are increasing their efforts of reaching potential contributions and users in their own language, taking in consideration the local culture. Some community projects are getting so big that some actions in the management/organization side must be taken to keep being efficient and flexible.

Like others, KDE is going through a process of organizing local communities around legal entities related with the matrix. The experience is telling us that some advantages and positive effects are taking place as a result of reducing the barriers for people to get involved in the project. There are many, but language and culture are huge ones. Another one that is not frequently mentioned is that people wants to relate to each other face to face, at least once in a while. National events, like Akademy-es, represent a definitive step for a developer to end up contributing actively to the global project.

Like in economy, the communities are built around poles that get connected to each other. If some developers are in the same geographical area, personal relations allow a pole to grow faster and stronger. We have a very good example of this process in Spain with Barcelona or in France with Toulouse. Also this helps to explain why we haven't been able yet to become in the US as successful as in other parts of the world.

It is easy to think how would it would be to speed up this process since the results look promising.

Non-profits as key partners

Every mature free software project have relation with some stakeholders that, eve though are not communities of developers, they are key players: non-profit organizations. These relations are not structured and too often have lay on personal efforts. Free software communities are very technology centric and most of those non-profit don't, so relations are not based on personal interest most of the time, but in the defense of free software (general idea).

But both, those non-profits and free software projects, are aware of how important is to stay close to each other, specially with so many viruses out there waiting to infect us.

But beside those non-profits that are very related directly on indirectly with free software,there are many more that we can contacted to build a very valuable relation. International cooperation or science centered organizations are among them.

So once again, it is easy to end up thinking how good it would be to increase the number and intensity of our relations with non-profit organizations.

Colleges: strategic partners

Most of the new contributors free software project attract are students from colleges. They have the time and energy to learn. Projects like KDE are perfect for them to develop new skills, useful in their professional careers. Only in very few companies a student can become part of such a complex environment, using such innovative tools, surrounded by high skilled people.....for free (not even paying, probably).

Teachers play a key role for us. Experience tell us that, where there is a teacher involve in our project, many new contributors arrive. Colleges are usually involve with local companies and somehow influence in the decisions they take related to technology. In order to create poles, they are the perfect host.

Every free software project have relations with colleges, but most of those relations are also based on personal relations between community members and some teachers. Maybe the same person plays both roles.

So, yes, again, it is easy to end up thinking how good it would be to increase our relation with colleges around the world.

Building a new ecosystem 

In order to ensure our independence in the future, keep growing and increasing our impact, we will need to find out ways to establish structured relations with these 3 type of organizations:
  • smaller companies (SME from now on)
  • non-profits
  • colleges (including similar institutions).


Some of the principles and procedures we are using now successfully in our relations with developers from our own projects and other communities might not work perfectly with these organizations. They talk different languages and we will need to find ways to create a new field with different rules, so they they join our game, a game based in our classical strong principles.

If we agree that engaging developers is easier if you have a strong local structure, it make sense to think that maybe the same aproach can work with organizations.

This new ecosystem, within our community, will be the result of going through a new process that will have, at least, three different phases:
  1. Creating a structured and coordinated program (the rules).
  2. Building up a network with those organizations (the field).
  3. Evolving into an ecosystem (the game).


We have to be aware of the difference between an ecosystem and a community. It seems to me it will be a basic element to consider. 

All the above is quiet obvious and, like in KDE, almost every free software project has been taking steps toward this direction. The recent MeeGo/Tizen affaire has made the need to push forward these kind of actions even more obvious.

How do we design that structured and coordinated program? How do we make it compatible with our goals? It will be possible with our limited resources? What do we want from these organizations? What can we offer to them? How do we make such a program sustainable? How do we handle our differences? Is such a new ecosystem going to affect us? How? Are we prepared?

I'll write about some ideas I have in the following days related with the above questions.