Samba with the SoC - GSoC 2011

That is a cheeky title (with the Pun Intended)
In fact it's the first status message I put up, when I got the news that my proposal had been selected for the Google Summer of Code 2011.
Yes, It is my first experience with the world of Professional Software Development , and yes,its a small but sure step in that regard .

This post is basically my first account of what the GSoC and more specifically my experiences so far with my project with Samba-Gtk have been.

To those of you who aren't aware ,Samba is a very well known and widely used server software suite for SMB/CIFS clients for cross platform file and printer sharing between Windows and Linux/Unix . To be more specific about my project , I am working on the Samba-Gtk project, which is an effort to build a convenient and easy to use GUI interface to perform many basic and necessary tasks for configuring various  aspects of the server, like - user, group, task and share management. The current methods used to configure the server are based on a flat-file and are rather cumbersome for the average Joe, (at the same time superb for absolute control). The manpage for configuring it runs to a whopping 8000 lines !!!
In fact this is one of the major reasons I got interested in the Gtk suite as this would make the configuration tasks a breeze, which I believe will help boost adoption.

As of its current status my project so far is going great , I have successfully completed my base class for handling shares with the dcerpc server .Unlike any contemporary GUI toolkits that simply manipulate the smb.conf flat file the samba gtk toolkit uses the dcerpc protocol to directly talk to the server to make any necessary settings and changes. This approach not only eliminates many errors but also makes it future proof as it supports any server that is compliant with the srvsvc protocol. Basically it means that this toolkit could very well be used to configure a windows server host too. I have also finished the basic add/connect/edit and delete dialogs successfully (barring some minor fixes and required modifications). Up next is the base Gui with the lists and launchers.

The more interesting part of this post is the experience I have had in these past few weeks.

I started my first expedition into the world of open source  more than half a decade ago and have been an open source enthusiast ever since, rather an addict . I like the entire concept of free and open source software. After a while of using it I got really interested in doing something new and innovative. I enjoyed my own small and playful experiments and useful apps like the public sms redirect and tracking notifications from facebook / google chat by little dbus hacks, or ma,king a cousin half way around the world control the song playing on my player via the very same public chat or a small GUI based audio player that focused more on logging and scrobbling to lastfm and zeitgeist .
 I always wanted to do more and contribute to the open source community, I just didn’t know how to get involved in all the excitement.

The GSoC provided me with just that opportunity.

 There is only one word to describe the last few weeks 'INSANE' !!!

Yes its been a lot of work. A few thousand lines of code , 3 manuals from MSDN (never thught I would end up doing that ;)) each nearly 200-300 pages and loads of other related reading just to get started with the project, but as always, it paid off. Not only has my knowledge grown exponentially, the best part is that I got to work and learn things that I wouldn't even have dreamt of, and that too from some of the best developers in the world.

  A special mention of my mentor Jelmer Vernooij is an absolute must, whenever I get stuck or want to discuss something, all I need to do is pop in a friendly 'hello' or 'hey' and then we discuss the issue, and with his help and guidance, invariably find a way through.
Another amazing experience is the entire community, that is what makes FOSS so awesome and unique , its like all of them support you and go out of their way to help in any and every way they can, it almost grows around you and you get this sense of belonging,a sense of being a part of the team  which I think is crucial to students like me.

 In fact as a test run and as a learning experience with Gtk and GUI design, I happened to create , the gnome 3 wallpaper a slide show (link) . The fact that little experiment was such a success, that it got published on popular blog omgubuntu and many other linux tech blogs, as a result comments and suggestions poured in from the likes of Dan Rabbit among others. In the process I got to learn so much more about the intricacies of GUI design. What's more, is that it got recognition from many people, and  something I never dreamt of, " a possibility" of my little package being pulled into AUR and AuroraOS. It is such things that want you to do more and more, and keep you motivated.

Through all the GSoC meet ups and Iists and IRC you become a part of this unique community, its great fun and an opportunity to meet so many new extremely talented like minded people  and make new friends.

 So far it has turned out to be one of the best summer I ever had . I doubt I will ever forget that email from the Google aptly titled : Congratulations ! 

Here is the  wiki
My frequent work goes here at  gitorious  

Here are a few screen-shots of my work so far  :)

Delete Dialog

Connect Dialog

Share add Dialog