10.08.12

Collecting people, some thoughts and ideas

Posted in Pune, Society at 7:59 am by Pirate Praveen

I would like to share some ideas and thoughts about collecting people for social change based on my recent experiences in setting up a computing center in Pandav Nagar Pune. You can see details of each step here.

  1. Don’t restrict yourself to what you currently can. Aim bigger and then you’d see it natural to ask people for help because you can’t do it alone.
  2. Have a minimal backup plan which you can do if you don’t get much help. Things you cannot do should not stop you from doing things you can.
  3. These two may look conflicting ideas at first but they are not. You might already know about the high jump analogy people say – set your bars higher. Sometimes you won’t be able to cross it if its too high, but unless you don’t set it high, you’ll never reach new heights.

  4. Don’t be afraid of the challenges. There will be many, but if you don’t even try, you’ll never overcome those.
  5. When your actions affect others, be open to them. If you’re genuine they would understand.
  6. In this particular initiative there was always a risk that I won’t be able to find enough people to help me. So my backup plan was, I would teach alone if I don’t find people. I actually reached that stage once when no one was ready to commit after many talks. But I was pleasently surpriced and overjoyed when I saw a surge of interest from the Free Software community it Pune. It was really heart warming when you had a new person telling me they are interested every day for almost 2 weeks! We have about 14 people in the team and last Saturday 7 of us went to Hutatma Rajaguru school for our first class and installation session.

  7. You have to ask for help. If you don’t ask people won’t know they can help. Many of the times if you can ask for a specific help, it more likely that it would be done. Make it easier for people to understand and break down the big tasks.
  8. So when I was talking about a computing center people have many things in their minds and they may not understand what it is. But when I broke it down to “GNU/Linux installation in a school”, many people felt they could do it and said they want to help.

I will keep updating this blog as I learn more or get more ideas. Share your thoughts in comments. I would like to hear what you think and your experiences doing similar activities.

11.18.11

ओकुपै वालस्ट्रीट आन्दोलन में हमारी भूमिका क्या है?

Posted in Pune, Society at 10:02 am by Pirate Praveen

अमेरिका में न्यूयोर्क शहर में दो महीनों से चलने वाली ओकुपै वालस्ट्रीट आन्दोलन के बारे में सब सुना ही होगा। अब वह न्यूयोर्क के बाहर अमेरिकी शहरों में ही नही पूरी दुनिया में फैली है। अमेरिकी समाज में आज हम को बहुत खैर बराबरी दिखाइ देगा, बहुत सारे लोगोंको अपना घर और नैकरी आज नहीं है, बहुत युवा लोग अपनी शिक्षा के लिए जो खर्चा लिया वो वापस कर नहि पा रहा है, उनको अच्छी नैकरी की प्रतीक्षा भी नहीं है। यह सभी लोग यह अन्याय व्यवस्था खतम करके एक न्याय समाज लाने के लिए आज रस्ते पर आयें है। यह लोग आज पूरे दुनिया के लिए – हम सब के लिए लड रहें है। जो लोग आज एक न्याय समाज और सच्ची लोकशाही का सपना देखते है, उन सबको आज इसमें शामिल होना है और उनकी आवाजको हमारे समाज में पहूँचाना जरूरि है, क्योंकि ये हमारी ही लडाई है। हम भी इधर एक नया समाज बनाने की कोशिश शुरू करेंगे। हम यह लडाई जीत सकेंगे की नहीं ये मुझे पता नही, एक बात तो पक्कि है, हम कोशिश ही नहिं करेंगें तो बदलाव नहीं होने वाला है। कम से कम ये मुद्धे हम सबकी बातचीत और सोच में ला सकते है। जब और लोगोने इसपर सोचना शुरू किया तो शायद कुछ जवाब मिल सकता है। पूरे दुनिया में आज बदलाव के लिए लोग अपने घर और ओफीस के बाहर आकर रस्ते पर आ चुका है, और सबके मन में बदलाव की आशा मजबूत है, आज हमारे सामने यह एक ऐतिहासिक मोका है, हमको इसका पूरा फायदा उठाना है। आप भी हमारे साथ इसमें जुडें।

अधिक जानकारि के लिए http://piratepad.net/18octpune देखे।

PS: Thanks to Sandeep for spelling and grammar help!

01.24.11

Copyleft and Free Software business models – a discussion on cofsug list

Posted in Free Software, Pune at 3:55 pm by Pirate Praveen

2011/1/21 Devwrat More :
> Really nice one lokesh…..:) 🙂
> @ Praveen:
> Please elaborate on how Copyright is used for CopyLeft and who OWNS
> copyleft… ( really smart thing!!! )

Copyright law says copyright holder (author of a creative work) has all rights to his or her work. Nobody else can use, distribute or remix the work without his permission.

Now with copyleft, the author gives such a permission (called a copyright license), it can be GPL, LGPL, AGPL etc (difference copyleft licenses with slightly different conditions, will explain the difference below). which says you have all the freedoms, but when you give the work to others they are also entitles to all the freedom you got in the first place.

GPL (General Public License) – strong copyright, any work that uses a GPL covered work (derivative work) should also be GPL. For example you use a shared library (.so file on unix systems and .dll on windows systems) in your code and if that library is released under GPL, then your code also should be GPL. quid-pro-quid. Take my code, but give back what you write. gnu readline is an example.

LGPL (lesser General Public License) – weak copyleft, any change to the code covered under the license need to be released, but if you are just linking to it, you decide license for your code. GNU C Library (glibc) is an example. You write C programs and it uses functions from GNU C Library like printf, scanf etc. You include these functions when you say #include . If glibc were under GPL, you would have to release any code that uses these libraries also under GPL.

Between GPL and LGPL, the decision is a strategic one. If the code we write is a new feature, our interest is to give advantage to Free Software developers, we may use GPL. But if what you write is already available and there is no advantage to Free Software developers, you may chose LGPL so that more people may use the work. Read more details about this case written by RMS

“Which license is best for a given library is a matter of strategy, and it depends on the details of the situation. At present, most GNU libraries are covered by the Lesser GPL, and that means we are using only one of these two strategies, neglecting the other. So we are now seeking more libraries to release under the ordinary GPL.

Proprietary software developers have the advantage of money; free software developers need to make advantages for each other. Using the ordinary GPL for a library gives free software developers an advantage over proprietary developers: a library that they can use, while proprietary developers cannot use it.

Using the ordinary GPL is not advantageous for every library. There are reasons that can make it better to use the Lesser GPL in certain cases. The most common case is when a free library’s features are readily available for proprietary software through other alternative libraries. In that case, the library cannot give free software any particular advantage, so it is better to use the Lesser GPL for that library.”

Complete article is http://www.gnu.org/philosophy/why-not-lgpl.html

AGPL (Affero General Public License) – stronger copyleft than GPL itself, if you use the code as a website, all of its users should have access to its code. Example statusnet, silpa, launchpad, diaspora etc. Designed for web-based applications. I heard this story from someone, about bc (binary calculator). It goes like this, there was a known bug in bc and some people were curious and tried the same operation on google search box (in addition to web search google search box works as calculator, currentcy convertor and many other things). They found the same bug in google as well. After some time, they tried the same thing again and found google has fixed its site, but bc was still buggy, meaning google did not give back to the community. Current GPL implementation does not cover this case because web services were not common when it was written and it would be considered as normal use of the program. Just to reiterate, you don’t have to accept GPL if you are just using the program or even making private modification. GPL starts only when you give the software to someone else.

So what happens when someone does not follow the conditions of GPL? That is very common case for many embedded hardware like routers. Authors of the software (most of the time it is linux kernel developers, note this point carefully, only the authors can file a case, not you, me or even FSF can file a case if we don’t have copyright. You or me can notify the authors, if we see violations. FSF sues companies which violates code that FSF has copyright on like binutils – basic commands like ls, cat etc are part of binutils).

When the violator says, I did not read GPL, court asks show me the license. They don’t have any other license than GPL itself so it is a clear violation of copyright law. Distributing copyrighted work without a license – pay fine, stop distributing etc. Now if we say they don’t agree with GPL or they don’t like GPL, they again don’t have any other license, which means clear copyright violation. So if you are distributing GPL covered software, you have only two options

1. Agree with GPL and follow all its conditions
2. Don’t agree and stop distributing.

So you can go to court and enforce one of these conditions. And it has been proved in court.

Ask if you are not clear, because it is a very important and commonly mistaken concept.

For more legal savvy folks, read the court judgement against D-Link http://www.jbb.de/judgment_dc_frankfurt_gpl.pdf

See http://gpl-violations.org/ for more details on how GPL is enforced.

> Also you did not answer about how one earns his living with Free softare. (I
> could not understand what Lokesh has written about earning and No warranty
> … does it mean programmer earns by MAINTAINING a software ????? )

Abhijit has explained one way of making money, provide services, charge for your expertise etc. This is used by many compnies including my employer Red Hat. The concept is similar to how we pay a plumber or a lawyer. We can fix our taps or we can pay someone to fix it. We can argue our case or pay a lawyer on behalf of us. Same way you can fix the code yourself or you pay someone for it. It might not be financially feasible to hire programmers to fix such large a codebase. So you opt for paying someone who has expertise on the entire code base and can help fix things when it breaks. Some big companies can afford to have their own programmers and they don’t buy these support. But then again that is another model, those compies are employing Free Software developers.

Another option is dual-licensing model. It is commonly used with GPL license. You take the code, it is GPL, but you have to make your code also GPL. If you don’t agree, pay us and you can keep your code proprietary. So the software itself will always be Free under GPL, and any other Free Software developers can use that code, but proprietary compies who want to use the code has to pay. So proprietary companies fund such Free Software projects! How brilliant! MySQL uses such a model, QT used follow this model, now after Nokia aquired TrollTech – the company which developed QT, they changed QT license from GPL to LGPL. Now Nokia wants everyone to use QT, they have lot of money and don’t have to depend on proprietary companies for funding. For mobile companies the choice may be between Android and QT. If they don’t have to pay for Android, and pay some money to Nokia for QT, they might not want to use QT.

For some hardware companies, all they care is about selling their hardware, so they employ developers to write drivers, test on Free Operating Systems etc. HP develops drivers for many of its printers and scanners this way. They employ developers to write drivers, it is released as Free Software. HP cares about selling more printers and not about drivers itself.

There are many other models we will discuss more on this as part of our foss elective, we will keep the session open for every one.

The basic idea is this, the old model of developing a software, marketing it, restricting it and charging huge moeny for each copy if obsolete now. It opens up new opportunities for everyone to make money. So a Free Software business model is only limited by every one’s imagination.

I am sure, if you see something is not working in Free Software and realise people are ready to pay to get it repaired, that is an opportunity for you. Its completely upto you how you want to make money with Free Software.

And remember this too, many developers have other day jobs and write Free Software because they like doing it. So there is absolutely no requirement for you to get a Free Software job to contribute to Free Software. If you like doing it, just do it. Look for a career else where.

Cheers
Praveen

See the whole thread of this discussion on cofsug list.

PS: College Of Engineering Pune has a vibrant Free Software community and it is rewarding experience to work with them. We are running a Free Software Development course as an elective for final year Information Technology and Computer Engineering students. The enthusiasm of the students is evident when I see some students who took it as an audit course – which means, they don’t get any credits for the course, but they come an sit for the course anyway! There are some second year students who also attend this course regularly! Not many teachers are this lucky to have such interested students, plus great flexibility to deliver it!

08.10.10

Mini DebConf India 2010: One of the best Free Software events we organised

Posted in Bangalore, Debian, Free Software, Pune at 3:44 am by Pirate Praveen

Debian Community in India has been conducting developer meetings since 2005. (See Debian Developers Conference page for details about previous editions). In 2005 it was a dedicated debian event, but we organised annual gathering of debian people along with foss.in in the following years. We even had a Debian Project leader (Sam Hocevar) attending our event and taking about how Debian gives back to the community. This time we again had a dedicated Debian event.

Kartik Mistry in Lab

It all started with an email about conducting another dedicated debian developers gathering in DebianIndia group. The idea was well received and we started planning the event. It took a while to decide on a date for event, but rest is – as they say – history! Abhijth offered to host it in COEP and Vipul was ready to host it in PICT. We decided to choose COEP, because Free Software community was already active there.

We had a rocking event thanks to hard work of a lot of people. I have to mention Abhijit, Vipul, Kartik and Pavithran who were there from the beginning to end in making this event a success.

Abhijit’s enthusiasm and passion for Free Software has been very critical for making this event possible. He has been instrumental in creating a vibrant Free Software community in COEP.

Vipul was our official designer and he made sure we have good posters, tshirts, buttons, stickers … He is also working hard to bring up an active community in PICT.

Vipul and Kushal

Kartik has been always there for Debian and he was instrumental in making sure we are a debian proper event. Of course, he advocated me to be a DM 🙂

Pavithran has been our main spokesperson on irc and his interactions with debian community helped us in making sure debian people knew about this event. He was there from Friday to Monday and made sure we have everything in place.

There were lot many people who helped in many ways.

Students in Hall
Students in Hall

Naveen Kumar has been encouraging me in every step and interactions with him every day helped make this event much more organised. He was insistent on meticulous planning even to the minute details.

Kushal Das for having played and excellent role. I guess every one got a clear understanding of upstream and downstream. I found having upstream author, maintainer, mentor and sponsor at the same place was a wonderful way of demonstrating the relationship between different communities in the Free Software world. Back and forth between me and Kushal about copyright was the best part. Understanding about how copyright is fundamental to being part of the Free Software community.

Onkar Shinde for helping me with my intro talk and workshop. Being part of Ubuntu and Debian gave a different perspective and it was an important one.

Amit Karpe and PLUG team for joining with us for organising this event. It was good to see him contact us and offer help.

Sasikumar sir of CDAC for supporting this event and making sure we have a good interaction with BOSS team. Also for coming as a chief guest and delivering and inspiring inaugural address.

Shirish asking questions

Ashok Kumar and BOSS team for a healthy dialogue. Hopefully, we can work together more closely after this interaction.

Vikram Vincent for his energetic talk, he was talking to students in their own language.

Raghavendra for sharing his vision and experience.

I’m definitely going to miss many volunteers’ names because I have interacted directly with only small number of them and I don’t
remember most of their names 🙁 I will attempt some names Swapnil, Avinash, Madhur, Aswin and many more.

Volunteers

Plus all the awesome participants, who stayed up till 10 pm on first day, came at 8 am on the second day and stayed till 8pm, that is quiet an effort. Again I will try some names, but I know it is incomplete, Arnav, Vivek, Sana, Priyanka, Sushant, Raghavendra …

Oh yeah Ninad Pundalik was helping with the workshop and his microblogs. Ramakrishna for his great insights. Shirish was keeping the sessions alive with lot of questions.

Karunakar helped answering some questions on input methods. His presence itself is great motivation for any FOSS event. We planned a session with him, but he had other plans on that day, which got canceled at the last moment, so he could come for the event.

Karunakr

Pravin Chavan from CoEP for arranging delivary of flex,buttons,and bunking whole day of college!for placing order of
tshirts in desperate times..

And of course our sponsors Media Magic Technologies and Nexenta systems. Hopefully Linux For You will cover this event in their coming edition.

An old Chinese saying says:

Give a person a fish, and you feed them for a day. Teach a person how to fish, and you feed them for a lifetime.

That has been my approach through out the workshop. I taught them where to find the information they need, gave hints when they needed it, shared my experiences. I started with asking them to search for ‘debian policy’ and keep it open in a tab. Then ‘debian new maintainer guide’ and lekhonee. It is important to remember the key words, we can always find the link with a search engine.

Next step was building the package from source. Instead of telling them what packages they need to install, I helped them find it out by themselves. First rule is always read README. It mentioned names of dependencies by their upstream/generic names. But they still had to find out debian package names because most of the time debian allows multiple versions of the same software, especially libraries to be present in the system. In those cases version of the library/software gets added to the package name. apt-cache search ‘upstream name’ lists packages with that name. But for building packages we need development libraries so they need to search ‘upstream name dev’. Once they found out package names for all the dependencies, every one built the package from source. I think it was Swapnil, who volunteered to show the students how to build a software from source.

Praveen

Now we have all the required dependencies, so I asked them to improve README file with this information. Swapnil volunteered to improve README, but could not send to debian bug tracker on first day as we were getting late. On second day we were supposed to submit the bug report, but diff file was saved on Onkar’s laptop. So Raghvendra volunteered to do it again and others helped him with package names. This involved modifying code to improve it and creating patch. After we have the diff file ready, we submitted it to debian bug tracker.

Next step was getting them familiarised with wnpp. So I showed them and example ITP for burg and asked them to create the template for lekhonee-gnome in a text editor. They had to look in the AUTHORS file for upstream author. Then came the interesting part of license.

Kartik and Pavithran

Everyone said the license is GPLv3, but Kushal insisted it is GPLv2. So we had to double check. It turned out COPYING file mentioned license as GPLv3, Kushal copy-pasted it from somewhere 🙂 But before we could report it as bug, he fixed it upstream! But still Vivek insisted it is LGPLv3 (I also made the same mistake in my ITP). So I told them to run ‘licensecheck -r *’. This command lists out license of individual source files in the archive. Some of them had to search for this and install devscripts. Output of this command showed, individual files had a mix or LGPLv3 and GPLv2+.

Once we listed all licenses of individual files, the next logical step was finding out license of the combination as a package. We looked up text of GPL and LGPL licences on the internet.

I asked them to look at the relevant sections of each license to understand what each of the licenses say about derivative works.

Section 2b of GPLv2 clarifies the license of the whole program should remain as GPLv2+

2b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

Section 4 of LGPL gives user a choice of license for combined works.

4. Combined Works.

You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications …

If we want to comply with GPL’s requirement of same license for derivative work and LGPL’s choice of any license, the result is GPLv2+. (See debian/copyright file for lekhonee-gnome. It makes debian package GPLv3+, may be I should keep it at GPLv2+, I will think about it when I prepare next update).

Abijith

Next field in ITP is description, everyone just copied the description given by Kushal, without thinking much about it (I did it too when I filed ITP – but Kartik made me change it to something more useful to users). I told them to be creative and think about users when writing descriptions.

It is already a long post and I better post it now, Pavithran has been behind me for my blog 🙂

To conclude, we ran dh_make and modified template files to build the debian package! If I feel like writing more, I will write more about the event later.

Thanks to Pavithran for photos (Pavithran’s Gallery). More blogs and after event activities. You can also get involved! Come to #debian-in at irc://irc.oftc.net

Schedule

PS1: I started with lekhonee-gnome, but it supports saving drafts only once. So reported a defect and moved to web interface.
PS2: As usual, I went into minor details, because they say “devil is in the details”. I hope sharing this experience in detail will help other people organising Free Software events.