-->
MeeGo Network Finland
8
Aug
19
Jul
I’ve been implementing LDP section in our portal for the past two weeks or so. We have finally got it usable enough and devices are pouring out! You can check out more details about LDP from meegonetwork.fi pages. I have written also a few blog entries about and around the topics related to LDP (one here and second here).
I asked people in July Tampere MeeGo Network meetup about whether devices should be loaned to projects being open source only or should so called closed source projects be included too. I gave a thought to things that came up, but still I can’t see very strong arguments why open source community (which MNFI and TMN) should loan devices for free for developers who wish to keep part of the results (such as source code) for them selves. I might sometimes be considered somewhat hostile towards business interests inside open source community. Nevertheless, question that must be asked is: “If you are loaning a device for free and aim to use it to create business with it (create closed source app and sell it), what are you contributing back to community?” Why should we support your pure personal money-making interests?
Of course you can say that you will demonstrate your app at meetup and show how it is done. That is great! But that is the least you should do anyway! What really prevents you to show your code too? Does your code suck? If yes, then showing it to the world might give you a chance to learn how to write better code. That is possible, if one of the fundamental values of Open source is applied. That value is incremental development. That is made possible mostly by sharing code. Keeping your app (apparently written in low quality code) in your own hands and forbidding access to code for others is a sure way to boost your own ego and push skilled people away.
One possible solution that Attila suggested sounded pretty valid. Both kind are allowed: open and closed source projects. But there is a trick. Solution prefers open source over closed source. If open source project needs a device that is not available, but is used by closed source project, the latter must return device and hand it over to open source project. I’d suggest that device must be returned in a week. That is reasonable time to finish immediate actions and return the device. Reasoning is simple. Community can benefit/learn more from open source solutions. Yet it is better to loan devices, than let them be in storage.
There are plenty of better organizations for doing business apps. If your intention is to deny access to source code and make money out of the app (ie develop money-making apps with open source community devices!), you might better look around and find another organization.
As one of the LDP managers, I’m not saying that I will reject or neglect any of the closed source apps, but I will prefer ANY open source project over closed source approach.
13
Jul
Since I stepped down from MNFI community manager’s position in our last community meeting, I’ve been focusing on Local Device Program (LDP) . What is LDP? In brief, it’s a local version of Community Device Program (CDP) described in MeeGo wiki. Furthermore, LDP is a pilot project defined and tested in Tampere. We have defined device loaning criteria, process and management. At the moment we are finishing the application form, program description and device listing in MNFI portal. You can read more about LDP from my previous blog entry and from MNFI portal.
I stumbled upon Randall’s blog entry So what is a “Platform or Device Champion”? and it gave me an idea for this blog entry. Two issues raised in my mind: how does device champion relate to LDP? What are the differences between community device program and LDP?
I noticed that Randall describes Device Champions as follows:
Any community member passionate enough to act as a volunteer focal point for platforms or individual devices. That means researching, blogging, presenting, forum posting, leading discussions on email lists, and any similar highly visible activity in the community space. Platform or device champions need not be a subject matter expert or developer but should always be willing to help find one. Note that a Champion may or not be a Recipient. This not an elected or selected position; if you want to help, just do it!
Randall continues to define some bullet points, which might give a little more insight:
After reading Randall’s blog entry I started to wonder how this relates to LDP managers. LDP managers are people who are managing the device loaning applications & process, device storage, maintenance, etc. In other words, they take care of pretty much everything. To me LDP managers sound pretty much like Device Champions. Of course LDP is still looking for the final form and things might change in the future.
Now, let’s take a look at the differences between community device program and local device program.
Both programs aim for same result: getting devices to developers and get more action in application development. Intention is to make developers happy. The goal of CDP is
to put together a framework that makes it very easy for anyone to contribute devices and have them go to the most qualified community members in exchange for some commitment to do something cool with the device.
LDP shares the same goal, but with local twist:
create a device program with lightweight bureaucracy which operates only locally. [...] LDP is intended to create activity around projects, which involves devices.
Both programs seem to have similar goal, but the methods and practices differ. First of all, in LDP devices are not shipped anywhere. Any registered MNFI member can apply for a device and if accepted they collect devices from storage location (at the moment from Tampere only). Secondly, device providers are not involved in selecting accepted device requests. In other words, they don’t dictate requirements for device loaning. Thirdly, any kind of NDA’s are not involved. Fourthly, we store devices locally in one location, not around the world. This also means that devices can be distributed faster than compared to shipping around the globe. Fifthly, CDP process is maintained by MeeGo project / Linux Foundation. LDP process is maintained by MNFi, but local networks run their own programs. In other words, MNFI coordinates the local efforts and develops the process, local networks execute the plans. Finally, LDP loan process is lightweight; as little bureaucracy as possible.
As stated above, Tampere will function as pilot and if other cities in Finland (or elsewhere) wish to do same, we are happy to assist.
1
Jul
MeeGo Network Finland has been around for about 7 months now. MNFI was born in Helsinki MeeGo Network meetup in December 2010, where I presented the idea of national network. This MeeGo networking in Finland has grown to be bigger than I ever anticipated. Remember that all this started from one off-topic line in hackerspace IRC channel. We have come a long way from there. A lot of marvelous events and activities have been organized.
MNFI has organized (first in the world) 2-day developer oriented community driven MeeGo Summit FI. Summit was a great success: around 250 participants, awesome speakers, support from several companies (thanks again!), great open source spirit, lots of fun and a chance to get faces for IRC nicks. Without the efforts and contribution of our members, Summit would have been something else. People were enthusiastic and things just happened.
MNFI has also organized 18 local meetups in Helsinki, Tampere and Oulu. Most active networks are without doubt Helsinki (7 meetups) and Tampere (10 meetups). The amount of participants in meetups has been rather high, (estimated) average around 30. Based on the above facts, it’s easy to say that:

Our community has created several applications for different purposes. Some of those apps were related to Summit and some were part of Intel’s AppUp. Here’s a few examples. Sandst1 took the lead in creating mobile app for Summit program, Riussi created awesome timing app for Summit speakers and organizers, timoph took lead in developing app for generating bagdes for Summit participants and many more that I can’t remember now. Big thanks goes to Jarrrgh who is our Art Director and was responsible for all graphics (except logo which was tailored by paid designer) and layouts. Several members have started projects and many more are preparing to get started.
Let’s keep in mind that our experiences about creating regional/national community and about organizing community driven Summit have been used in defining practices for others to follow. This was ‘confirmed’ at SF2011 by Dawn Foster. Latest effort to nurture hacker spirit is local device program, which is about to kick off in the following weeks. Again, Finland is acting as a pioneer. We have reason to be proud of our community.
Stepping down gracefully is the last ‘rule’ in MNFI’s Code of Conduct, which was adapted from Ubuntu community. It is time for me to step down as community manager. At the same time I find that hard and easy. I feel a bit sad, because my time as MNFI community manager has been so full of energy and fun. I just love being part of this community. Of course I continue in the community although with less responsibilities (we’ll see about that). My focus will be in my PhD research about how power(influencing decision making etc) is used in MeeGo project. Still, stepping down is easy since we have a lot of talented people to step into community manager’s boots. Besides, manager is not the source of ideas and activities, community is. Manager just does the best he or she can to make things come true. I will not just ‘drop the gloves’ and let new manager survive with the transition by him/herself. New manager might not be aware of all the things that are going on and might need some advices or insight on various matters. Therefore I am planning “to hold new manager’s hand” for a month or so. I hope that new manager will also use blog to give members a view to manager’s head and thoughts.
Again, thanks to all of you. You rock. We rock. MeeGo rocks!
20
Jun
During the past 9 months I have been acting as MeeGo Network Finland community manager. That time has included exciting and frustrating moments, joy and sorrow, but above all it has included a lot of lessons about what is a community manager. Here’s a few things that I have discovered.
When you are lucky enough to be a community manager in some open source community, make sure you believe in the goals and aims of that community. There might be times when you are the only one who can find something positive about the situation. Sometimes the situation is opposite. In other words, you are human too after all. You might loose (some of your) faith in future, but then when you least expect it, community will notice this and help you to get back on track. That is if you are lucky :) I was lucky. I lost some of my faith in MeeGo during the spring 2011, but then some of the community members supported me and expressed their belief in MeeGo’s future. That helped me to rebuild my thoughts.
Every community faces moments of ’silence’. Community is there, but they need to be pushed a little bit. But be careful! Using carrots works better than stick. Even if there is a valid reason to whip the community, don’t get too tough. Be understanding, respect the fact that at least some of them are using their free-time (which it self is a sign of their commitment) to participate.
Community manager who ‘just works’ for the community is doomed. Well, perhaps not doomed, but success is less probable. You have to be enthusiastic to get things rolling. You have to believe in open source communities and culture, you have to be part of the open source community. If you are too ‘old fashion business oriented’ person, don’t expect to be a great open source community manager, at least not straight away. You have to learn what open source is, how it works, what are the values and modus operandi.
Obviously decisions need to be made. Every community can not be run in Linus style, where decision making is avoided. Make the decisions, it’s your job. Make sure you listen to the community first, ask their opinions and insight. No matter what you decide, it will never satisfy all. Learn to live with it. Note that decision making might take rather long time, depending on the issue. Keep the discussion alive as long as it needs, and keep the discussion in open. Don’t fall into traps like discussing community issues in closed email circles.
Don’t loose your true identity, be yourself. If you are hard core open source believer, let it show. If you start building a ‘manager role’ which is different from your own personality, you will fail (in epic scale). People in your community will see through your mask. That will ruin the trust that might otherwise build between you and community. Trust is one of the most important things in open source communities. If you manage to avoid the above mistake, you are able to be consistent. That means, that others can anticipate you and your thoughts. They will learn what to expect from you. That builds trust.
Be bold with new ideas, throw them at the community, but be prepared that every idea will not get supported. Your task is to keep community vibrant, alive and bring new life into community activities. Just like in open source projects, you might need to do a lot of work yourself before others get interested. This obviously requires time and efforts.
A good community manager listens to other comrades (or brothers and sisters). Don’t shut your ears and eyes even for a moment. Be alert and try to probe what is the spirit of community, what they are doing, what kind of stuff might get them more engaged. Don’t get frustrated if things don’t seem to go forward in the speed of light. Sometimes community is silent, but it takes only perhaps one off-topic line in IRC and then all hell breaks loose, there is chaos, confusion and trouble, but above all there is activity.
30
May
An idea of local device program (LDP) has been lurking in my mind for at least 5 months now. Actions to enable ‘hacker lounge’ kind of activity in Tampere New Factory were initiated already months ago. The aftershock of 2/11 did have an affect on this too. Things have been a bit like hanging in the air. We did receive devices from Nokia already, but those devices are not part of hacker/developer activity now. The devices are either in a box or in the hands of end-users for ‘testing’. Reason for that is simple. There has not been anyone pushing this kind of efforts, no one has been named to be responsible for this, neither has anyone claimed the ownership (as it goes in Open Source) of this project. That needs to change. I’m willing to build this local device program and see how it could run. Perhaps if it a success, perhaps not. Whatever the result is, experience would extend our knowledge about organizing such activities locally. If it would be a success, the model could be replicated around the world. One thing is sure though. We need support from local companies and device vendors, either monetary or hardware.
LDP is related to our (Finnish) other efforts to change or renew MeeGo activities described in my previous blog entry about Local Development Ecosystem.The need for LDP has not gone away. On the contrary, more and more often I hear developers (working on different platforms such as MeeGo, Android, WebOS, iOS) desperately crying out for devices for development and testing. The MeeGo project has global device program described in wiki.meego.com and in Randall’s email. LDP extends that program by adding another way for developers to get their hands on devices. In other words, intention is not to replace MeeGo project global efforts, but create an option with lightweight bureaucracy which operates only locally. IMO such programs (meego global device program and LDP) will become more and more important in the near future, when (hopefully) multiple vendors push MeeGo devices into markets. In brief, I wish to build activity around projects, which involves devices. Hacking without devices is like hmmm….making pizza without dough, messy and fun but without meaningful results.
LDP is not just about MeeGo. I wish to extend device program to include also other operating systems. MeeGo Networks will still remain focused on MeeGo, but we don’t spit on developer who wishes to do some exploration related to some other operating systems too. Narrowing scope or tying developers hands to so called ‘meego devices’ (what ever those might be) or to limit options in search for inspiration and ideas would be against the spirit of Open Source. The less limitations, the more options. If a developer is willing to discover strengths and weaknesses of for example another great Linux based OS and share that knowledge to others, who are we to say no? I’m hacker and a little bit anarchist by nature, and I resist artificial boundaries which are build on trademarks and such. I admit that some rules must be obeyed, but that’s another issue. That’s easy for me to say, since I have no ties to any corporation. I wish to keep our local networks too as independent as possible. Same applies to hardware. Intention is to get wide variety of different devices to hack, not just those which have been tested with MeeGo. I’d love to see experiments on hardware, which might at first seem nearly impossible to run MeeGo and eventually find a way to go around. Another great thing would be building devices by our selves. I know that would require possibly a little more efforts, but hey, people in hackerspaces do that all the time too. Open Source and hacking culture is not about bureaucracy and restrictions, it’s about breaking the boundaries and most important about freedom. Freedom to explore, participate, contribute and incremental development.
Below is another ugly process diagram. A few words about that.

Developer contacts local MeeGo network (organizer) and briefly introduces project idea and need for devices. This is not supposed to be heavy document or full blown project description, but a simple form in meegonetwork.fi community portal. Then developer signs loan agreement, which is by the way already defined and tested in New Factory activities. In other words, that part is ready in Tampere context. Devices are stored in New Factory facilities, where MNFI has lockable storages. Different vendors are encouraged to donate devices, hardware, components and even money which will be used for buying equipment and other needed items. Device loan time will be rather long (for example 6 months). Then developer uses the device(s) in Open Source project. Intention is also to extend projects to include open hardware related activities, which enables new device innovations. Projects will produce multiple outputs, which benefits whole ecosystem including device vendors, OS and application development and community.
I and some other members (Jukka and Matti) of MeeGo Network Finland did have unofficials discussion about LDP with various people in the Meego Conference 2011 in San Francisco. The initial response was good and inspiring. Support for this kind of efforts was given. Agreement about testing LDP concept in Tampere was also agreed, again unofficially and behind the curtains. This program is not official part of MeeGo project, at least not yet. In the following weeks, I will start pushing LDP forward. This is call for action and that includes you.
10
May
Tampere MeeGo Network started with strong interest both from network members and companies. First 4-5 meetups gathered 40 to 50 participants. However, TMN has lost some of it’s attraction lately. Partly that is due to MeeGo Summit FI which took a lot of energy from other activities, since most members were involved as volunteer organizers. Furthermore, Summit might have ‘consumed’ some of the need to have social gatherings at least for a moment. That does not explain all though. TMN meetups have been mostly about talking and discussions. There has not been much doing.
Perhaps we should change our focus to gain more attention and regenerate enthusiasm which we had in the beginning. Some of TMN members have expressed need for more hands-on related activity. This is visible in TMN meetup web discussions:
Something more coding oriented. I personally would be interested in something like “come with your tablet and we’ll help you get started”, other guys could be interested in coding camps focused on the other areas.
[M]aybe we could do a two week cadence, i.e. keep the current timeline for the presentations and news oriented meetups, and have a “enter only if you’re willing to code” type event also once a month but with a 2 week offset.
Perhaps the answer is in focusing on projects, which are run by the community. Projects are hands-on, at least application development projects should be, and software development raises new topics, issues, skills to learn and discuss. There are multiple projects going on inside our community. Current projects can best be described as ‘one man shows’. People are scattered in own projects. There’s nothing wrong with that, but it leads to situation that skills, talent, time and resources are wasted. Perhaps it’s time to find a few ideas for joint development project and participate in that even if it is not exactly what one initially wants to do. Some ideas for joint project has already been tossed in the air. One of those is to implement sort of ‘meetup app’, which would be used for making notes about meetups.
Again I had to make another drawing about the ‘big picture’ behind the projects discussed above. And again, I failed to make a simple model (skill that I lack, but I’m working on it). After a few moments thinking I found out that we have all the pieces to build/start a joint development ecosystem. Oh yes, the current buzz word ecosystem :) Anyway, what we have in Tampere:
All that needs to be done, is to make all pieces work together. In other words, someone to function as glue-gun and shoot! Below is rather complex looking illustration how things could go.

Illustration 1: Local ecosystem to feed app development
For companies supporting the above model based development are evident (and nothing new). They can test their ideas in volunteer based projects. They can use the community to implement solutions to practical needs or at least feed the community with ideas. During the projects, people generate more skills and knowledge (tacit knowledge might turn into visible form) which can be used in own product development. Needless to say that new talented employees can be found through projects and networks. New people come in from joint networks such as local hackerspaces, Linux Users Groups and other communities.
Projects create applications and skills, which can benefit open source community. New applications can create new startups for new companies and enhance entrepreneurship in Tampere region. Some of the apps would most likely be ready for end-users and could be uploaded directly to existing (and future) app stores.
Plan to set up ‘developer lounge’, which would have devices for development and education use has been on ice for some time now. This lounge would be located to Demola, New factory. Need for devices is evident. I stumble upon the need almost daily; many application developers (pure volunteers and people from startups) face sudden need for different devices. Developer lounge would not be limited to include just MeeGo devices. The support would include also devices suitable for iOS, Android and others. What is needed, is some support from local companies. Someone has to maintain the facilities and lounge. Of course hardware is needed too. Devices can be bought or companies could donate those for development and educational purposes.
To sum up, we have all the pieces to boost local application development and create ecosystem that benefits all participants. We just need to sit around the round table and discuss details. I’m willing to take the challenge, what about you? :)
19
Apr
MeeGo Summit FI 2011 was held at Finlayson area Tampere. Keynotes were at Plevna movie theater and rest of the program - three tracks, MeeGathon competition and Intel AppUp at New Factory. Friday evening party was at Gloria restaurant, which is well-known for cougars and table-dancing opportunities ;)
This Summit was possible because we have a very active MeeGo community in Finland (MNFI) which includes nearly 300 members. Big thanks goes to Hermia, COSS and other partners and sponsors as well. On Friday we handed out 259 badges. Some appeared to venue only on Saturday. Still over 100 did not come, which is bad and good. Bad because a lot of those who really wanted to come were left out (there was over 140 still queuing). Good, because the venue was not too crowded.
Overall impression that I have is that both sponsors and attendees were happy and enjoyed the Summit. Add your opinion as comment to this blog. Some verbal feedback was even flattering. Unfortunately I did not have time to follow sessions due to several responsibilities. Fortunately all sessions were recorded, so I will have a chance to look those after Summit. Those videos and session slides will be put available to summit.meegonetwork.fi as soon as possible. Pictures from Summit can be found from Flickr (search for meegofi).
People were quit eager to tweet about Summit since I counted over 500 tweets referring to Summit (hashtag #meegofi). Some blogs wrote about Summit too, for example MeeGoExperts.com. Our event IRC channel, #meego-summit-fi, had over 70 participants. Normal community channel (#meego-fi) was reserved for organizers during the summit. Even local radio “Radio 957″ had two news about the Summit in their website. Local newspaper did call me couple of times during the Summit, but I did not have time to see if Summit ever was mentioned in Aamulehti(.fi).

It is not a surprise that program was most popular just after web root. A positive surprise is that visitors do check out sponsors too.

I don’t have the world map indicating browser origin before the summit, but I remember that just before the summit (about 2 weeks or so), just US, Germany, Britain and some other countries were included as origin. After the Summit, visibility is global.











We are gathering written feedback from the Summit participants and deadline for that is 30th Apr. I have taken a preliminary look at the feedback (19th Apr) and below are some parts of it. Feedback form includes 5 selection questions and two free-form fields (topics were: Improvement ideas, Additional feedback). Citations below are from those free-form questions. The amount (N) of respondents was at this moment 64.

Nearly half of the respondents graded overall impression as ‘great’. Slightly under 1/3 felt that event was at least satisfactory and same amount saw it as ‘excellent’. One feedback sums this pretty good: “Venues used could be a little more convenient in general, but overall, you guys did a great job making sure everything clicks from day one.”

Nearly half considered Summit program great. Nearly as many felt that program was satisfactory. 5% were possibly slightly disappointed. The numbers/opinions looks good since program is often the most criticized part of any summit/conference. Some participants did not see any need for long breaks between sessions: “A 45 minutes break between each and every session was maybe a bit overkill and extended the event late into the evening“. Some considered long breaks good. Opinions about facilities divided too. Some saw that “Seminars were nicely spaced so there was also plenty of time for networking and stand-browsing, which is important.”
The content was too shallow to some participants. Some would have liked to ”see more in-depth presentations, since there definitely were a lot of very competent people who could’ve shared some of their wisdom.” “More technical and detailed presentations“. Of course these comments represent part of the participants view. Those who were happy did not give feedback and say “Ok, content was technical enough“. Nevertheless, we will take this under consideration when planning the next MeeGo Summit FI.
One great idea found in feedback was demo corner: “demo corner for participants to show off hw hacks or apps they have developed“. This was partly the idea of Hacking space at 4th floor, but it could have been emphasized a lot more.
Summit program was packed with different topics from mobile development and OBS to IVI and embedded solutions. Intel’s AppUp was the last part of official program. More than 190 developers gathered to 4th floor to learn about application development with Intel’s tools. After the session participants (190 lucky ones who had registered on time) were directed to hacking space where they received ExoPCs. This device was given for 3 three year loan, after which…well you know :) The smile I saw on people’s faces made me almost cry. My hacker heart was very pleased. Hopefully most of them will register to AppUp developer program, join our organization (meego-fi) in developer program and publish a lot of new kewl apps! That would make another AppUp in Finland more than likely.

Most of the participants were happy with location and premises. Most of the critique was about the arrangements on the 4th floor: “The North and South halls were too close to each other, and the presentations disturbed each other somewhat.” There were two tracks in one big hall. The tracks were separated only with curtain and that did not obviously stop the sounds coming from one track to the other. This is something that can be said to be sort of failure, but that was the best we could do with the given opportunities. Perhaps the best comment was related to weather: “Wish really hard for even better weather next time round.” We should move Finland to better location…that would need a few more sponsors though :)
We did not fail with this Summit, instead we exceeded the expectations of several participants. This two-day Summit is in my opinion a good example (if not reference) for others to follow. I guess it would make sense to arrange Summit again 2012. If you would like to see that happen, join Meego Network Finland (more info #meego-fi) or support us otherwise for example by blogging and tweeting about us.
Oh! Don’t forget to join our organization at Intel AppUp Developer program. Our organization is (for the sake of consistency, dm8tbr loves this;) ) meego-fi and we have over 30 developers already.
10
Apr
This blog entry discusses different layers of MeeGo community and roles they posses, if things would go as I would like things to evolve. Some things might seem rather bold, but I’ll try to justify my opinions as profoundly as possible. Focus is on events and who is responsible for what and why. Ok, the pyramid :) Some kind of structure is needed when community includes hundreds or thousands of members. That can hardly be denied even by hard core anarchists. Pyramid is one common way to describe structure. Those of you who see pyramid as ‘evil’ since it resembles corporate or military style management, take a look at any other FOSS project. They all have ‘pyramid’. They have masses, contributors, working groups, gatekeepers and some even dictators, benevolent or other. In my view, that pyramid is turned upside down.
The pyramid is not drawn upside down by accident. It is done for a reason. Open Source development’s strength including MeeGo community is in the people who constitute that community. At the highest level are Local MeeGo Networks (LMN). They are the foundation of our community. Second layer should be regional (/national) level networks. The ‘bottom’ is Community Office. All situations and discussions should take place as near as possible to local MeeGo networks. Only when matters can not be solved at local level or affects for example regional issues/global community issues, they should be taken to next level.
Community office is there to serve ‘higher level’ parts of the community. Community office does not exist to dictate how things are done, what forms different things take or how local MeeGo Networks should function. Community office has an important role in creating guidelines and coordinating efforts which is done by listening what our members say. This requires that members participate community office work in meetings, email discussions and other forms of communication. Messages and information must flow both ways, up to down - down to up, to ensure mutual understanding and agreement. Otherwise guidelines and such are based on hunch and gut-feeling, not on facts or needs of developers and other community members. Of course there are issues that belong to community office eg community managers. Which those issues are, depends on community at hand.
Local events
Local events refers to local meetups. Normally meetups are understood as monthly meetups organized by local MeeGo network. Topics discussed and demoed in meetups are somehow MeeGo related. But that can be boring in the long run. Local networks can organize other kind of events too. One option is to have weekend-long event. That offers more time and enables to concentrate on issues that can not be dealt with in one evening meetups. An example of such weekend event could be ‘bug munching’. Weekend could include lessons about different approaches to identifying and fixing bugs, hands-on examples with different tools and development environments. That was just an example, use your imagination and create other possibilities: weekend hackathons (combine on-site activity and virtual participation), make a visit to local hackerspace, get a new gadget, demonstrate it and let people play with it, etc. Something that breaks the routine can boost your local community and get them excited again.
Regional level network is responsible for handling regional events such as MeeGo Summits. It must be kept in mind that regional level body does not dictate what local networks do (just as community office does not dictate what regional networks do). Organizing national or regional event requires partners and sponsors. That is more easily done when you can speak in the name of national network, instead of one city in your country. Furthermore, if regional body is used, you might have better chance to get all MeeGo developers in your area behind the Summit. If just one local network decides to organize a summit, others might feel ‘not so welcome’ and left out or secondary.
Of course the beginning can be different even considering organizing national events. It might be (or is probable) that people from venue site will take more crucial role, but that is natural. In time people from other cities will join the efforts. But still, people in venue site will take care of most of tasks. Why? They know the area, facilities, possibilities since they live there. Furthermore they see each other often in local meetups and get bonded.
Summits are planned to bridge the gap between local meetups and MeeGo Conferences(see guideline). I think that is what Amy Leeland has said a few times and that is written in guidelines too. According to event guidelines, summits “are hosted by the community entirely and are not in any way managed or planned by the MeeGo Project”. This puts all responsibility of Summits to the hands of local (or as prefer to say regional) communities. The same guideline states that organizing Summit is greater task than organizing local meetup. Based on my experiences during the last months, I can concur to that. Current guidelines suggest that each year some local group starts the process. This suggests that summit organizing begins outside the local networks boundaries. That is of course one interpretation only.
The guideline (which is useful and great in general) also seems to assume that no summit organization teams (guideline speaks about a team) will be formed or preserved from year to year. This is where I partly disagree. I do understand that the guideline is still in progress and I have contributed to that some parts that I now criticize. That only means that lessons have been learned. Here’s a few pointers.
In my opinion the team in guideline refers to some kind of management team, which in turn creates plans for the summit and gets blessing for the Summit before starting the actual work. From whom is this blessing asked? That is still open. Guideline does not bring up any other teams , that would be part of organizing the summit. Obviously there will be, each year. There is no point inventing the wheel again year after year. Based on our experience, teams will be formed and practices such as communication and team work are established. This is were regional level body steps in. Those teams are part of national network, which is responsible for the summit. Some of those teams handle same tasks (which serve the whole national community) even between the summits. It would be unnatural to attach those teams to some local network. Besides summit planning, getting sponsors, building program, getting speakers, finding suitable venue and other tasks take a lot time, months to be more precise. Much like Summits bridge meetups and international events, regional networks bridge local networks and community office. MeeGo community office should encourage local networks to join together and support all efforts in that. Those regions that have organized a summit should collect/write down an example (reference) of summit organizing teams and what they do. This would help the others and redoing the same mistakes. In other words, sort of “dos and donts”. I am willing to be part of this process as soon as MeeGo Summit FI 2011 in Tampere is over and I have kept my well-earned vacation.
8
Apr
For the last month or so, most of my time has involved organizing MeeGo Summit FI. At the same time I have been preparing my PhD research about MeeGo ecosystem. I know! Some members of MeeGo community do not like the word (ecosystem) for various reasons. Some are satisfied with the term community and don’t see any need to call MeeGo project an ecosystem. I’m not going to discuss this rather semantic issue here. Instead I will focus on more funny and enterntaining issues.
A few days ago I stumbled upon ‘gource’ in one of my PhD seminars. Gource is an amazing command-line tool for visualizing commit history in a git-based code projects. Currently gource supports also SVN and Mercurial (http://code.google.com/p/gource/w/list).
While videos generated with gource might at first seem useless and fancy time consuming experiments with video codecs, that is not the whole truth. Gource can be useful at least in two ways. Firstly, it allows you to see what areas of the project are active in an easy to understand way. Secondly, it shows whether there is community around a whole project or just aspects of it. I’ll discuss that in more details later. I wanted to test gource and see what can be done with it. This gource experiment became more fun that I expected. Just for fun, like Linus once said in cover of his book. Well, he has said quite a lot but that one fits here. Let’s get dirty!
I had to do some preparations in my Ubuntu 10.10. Applications needed are git, ffmpeg with x264 libs and of course gource. More information can be found here. Once the preparations have been done, we can get to business. What are the steps to take? There are three steps to take.
Git is “a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency”(source). Ok, that’s enough of git. Obviously we need the source from which logs will be generated. The logs will be given to gource as input. I’ve selected one meego project, tracker,as target for this time. So i just cloned the repo:
Git does some fancy stuff and finally you should have your own clone of the project, this time tracker. Now go to the project folder (cd tracker).
Then you need to create logs from the source. In the example I have generated a small log for the last 5 days. Simply run command (in the project folder):
The last “> git.log” directs the output to file. Voilà! You can check what the log looks like with command ‘less git.log’. Ok, now we have the logs…now what?
Next you use the log file as input for gource. I will not go to every detail about every option in the below example, but some let’s take look at some of them. Ok, here’s the command:
Here’s a few pointers about the options to get you started:
More details can be found from the gource website or from command line (run ‘gource -H’). I did a lot of experiments to get an idea what can be done and how. I encourage you to do the same. It’s fun, yet time consuming since the rendering might take time.
After some little post-production, the ‘output.mp4′ looks like the video below, which I have named “Life of an application“:
The above is something pretty normal use-case for Gource. It was made for visualizing source code trees and commits. I just started wondering what would IRC logs/discussions look like if I would input logs into gource…I know, the whole idea sounds a little weird, but I just had to see it myself. Obviously I would need to ‘emulate’ git log format and to do that I would need to parse ’similar’ logs from IRC logs. Yet some creativity should be used.
Quick look at the logs generated from Git got me started. Let’s take an example from git log which as generated with formatting option: “–pretty=format:user:%aN%n%at –reverse –raw –encoding=UTF-8 –no-renames –since=”5 days ago”. That ouputs the following:
user:Yin Kangkai 1270704848 :100644 100644 aec16a6... e3fddb2... M patches/pch_dma.patch :100644 100644 2b2bc37... f9ea573... M patches/pch_usbdev.patch
First line is obviously user name. Second line is unix timestamp. Third and fourth lines are a bit more tricky. I have no glue what the two first strings (”:100644 100644″) are in the third/fourth line, so I just thought: “might as well copy that to my logs directly. Let’s see what happens”. The third and fourth strings vary all the time. Ok, so they must be some sort of identifiers (I guessed). Letter ‘M’ might be ‘Modified’. Other letters seen in git logs were ‘A’ for Added(?) and ‘D’ for delete(?). So far so good. The last string is the folder and filename. Ok, let’s see in what format IRC logs could be parsed to :)
Obviously I can get the IRC handles from each message. I can generate timestamps for each IRC message, since the log file tells me the date (in the beginning) and time for each line in human format. I just have to reverse the date to timestamp. I ignored the varying mumbo-jumbo part (”aec16a6… e3fddb2…”). Instead I just copied same values to every line, thinking I might perhaps generate some random content to those strings later. Next one I decided to put ‘M’ as modified, since putting ‘A’ as added, would have grown the tree in the middle. The tree in the middle is channel (#meego) where everyone ‘commits’. By that logic I placed channel name to ‘folder’ and append message after that. This gives me the following:
user:MrPingouin 1296603060 :100644 100644 aec16a6... e3fddb2... M meego/test user:Venemo 1296603120 :100644 100644 aec16a6... e3fddb2... M meego/test user:MrPingouin 1296603120 :100644 100644 aec16a6... e3fddb2... M meego/test user:CosmoHill 1296603240 :100644 100644 aec16a6... e3fddb2... M meego/test ... and many more
Ok, I did that with some butt-ugly perl scripting. Let’s try… Bummer! That’s no good, it does not work. Gource gives me: “gource: no commits found”. Obviously something is still missing. I should have read Gource manuals (who reads manuals? I should have), because gource accepts custom log format. Besides, at this point I found confirmation for my guessing about ‘M’s, ‘A’s and ‘D’s. Those are as I suspected, modified, added and deleted. Anyway the custom log format is as follows:
That looks sane and simple. I don’t need the color stuff and it’s optional for gource too, so I skipped that. After I adjusted my miserable parser, it generated:
1296603060|MrPingouin|M|meego/line 1296603120|Venemo|M|meego/line 1296603120|MrPingouin|M|meego/line 1296603240|CosmoHill|M|meego/line ... and many more
Let’s test again. Yay! Now gource accepted my logs and the result is…well at least something. Not much though, but it shows people posting messages (commits) to ‘#meego’ at the center and fading away after a while. Here’s two versions of it: raw ‘footage’ with black bg and one with different time scaling (a bit weird). First the ‘raw’ version (in new window youtube)
Artistic version with different time scaling and a few days combined (in new window youtube).
While that looked nice, I wasn’t satisfied and I had still room for more ideas. What if I combine two or three channel logs from same time period and use that as gource input? That might be more fun. I took a look at the logs, both #meego and #meego-dev channels. I took one log file from each, same time period of course. Problem is that #meego-dev channel logs are mostly full of just joinings and departures. Nevertheless, I copied my perl script to another file and manipulated it (again ugly, but works) to combine those two logs. Here is a snip of it:
1298031840|raghum|M|meego.01-18-2011/line 1298059680|Stskeeps|M|meego.01-18-2011/line 1298031480|sanjeev1|M|meego-dev.01-18-2011/line 1298057220|lcuk|M|meego.01-18-2011/line ...and many more
As you might notice, I used ‘folder’ (log file name) to separate channels from each other. Then I used combined log file as input for gource. The output does not look ‘good’, and the output is much similar as with one channel, so let’s forget that. If the two channels would have had even a little more discussions, it would look great. In addition to that gource located the items, #meego and #meego-div, quite close to each other so it was hard to see where the discussion took place.
One more thing is missing and that really bugs (or itches) me. I did not find a way to include direct messages from one person to another, while still staying on the channel. Direct messages refers to user putting handle of another person in the beginning of message line. In other words, how to make users ‘commit’ to other users in gource. Parsing those connections from irc logs is pretty trivial. One way to get that would of course be making a patch to gource. A patch that enables targeting other ‘committers’. If you come up with a solution, let me know :) I did also run some tests with longer time periods, like 5-10 days by just parsing the logs files into one. Now that IRC has been ‘discovered’ without making patches to gource, it’s time to move on. What else could be visualized with this tool?
Mailing lists of course! They are often trees,which have leafs. Once again I adjusted my miserable parser to do another thing. After a few tests, parser read one month (December 2010) from MeeGo archives and emulated git logs. In this case I decided to go for similar logs what git does, instead of using custom logs like before. Reason is that, custom log offers less opportunities to build leafs.
Anyway, here’s a sample:
user:LarryMathews 1291173184 :000000 100755 000000... 9117318... A how_to_upgrad/002396.html
user:AndreaGrandi 1291186135 :000000 100755 000000... 9118613... A Dublin_MeeGo_Weekend/002397.html user:DaveNeary 1291191407 :000000 100755 000000... 9119140... A Dublin_MeeGo_Weekend/002398.html
Obvious first line is modified name taken from email sender field. Second line is timestamp, which was created from email date and time. Third line is rather creative combination. It includes from left to right:
Once again I used parser output as input for gource. Result was somewhat satisfactory (in new window yuotube):
It still lacks some of the leafs, since my *cough* miserable *cough* parser is not capable of linking leafs correctly. It should make the references using the third string in third line like in git logs…but it does not. Instead it just uses static string. Nevertheless, an example was created.
Another thing that I would have liked to do, is vizualizing bugtracker :) I have the SQL query which would pull the needed data out, but not yet access to make SQL queries to bugs.meego.com. But that can be arranged, so I’ve heard. Better leave now and focus on something else…
Most likely no use at all, at least not in general. But is was fun and educational for me! And that is what counts in my world. I did test out what IRC visualization with gource can produce and what is lacking. But seriously, code visualizations like the one above could be useful to get new programmers familiar with typical ‘life cycles of an application’.
For those that have not been involved in longer software projects, it might be educational to see what actually happens in projects in the long run. Eyeballing commit history or browsing the source code tree might be less eyeopening and boring.
Sometimes the source is just a big lump, sometimes the project seems to spread around the world, sometimes there is just one person doing stuff alone, sometimes swarming occurs (multiple contributors at the same time), and so on. Lumps, bursted and swarming are pseudo terms that just popped into my mind, so don’t take those seriously.
And the IRC part? While you were looking at the first clip, did you see around 490-540 IRC handles there? No, you saw exactly 34 unique handles. Yet community statistics (Feb 2011) say that 490-540 log in to #meego channel every day. That is not a lie, they are there, but say nothing. They do not contribute to discussion, but may contribute otherwise. The point is that looking at pure statistics may give you a false feeling of activity or overall situation. The same applies to email archives as well.
This thing with gource started with the idea: “I have to try that on some git tree.” A little more was tested than just that. Nevertheless, useful or not, part of my curiosity was satisfied…until I find another thing…oh look! new gadget!….
Design + Coded by rkcorp
Developed with Scam letter Archive
with associated with cheap web hosting
