An adventure in Open Source development, KDE, and the Plasma Worskpace. - - - **The Concept:** _Learn how to become involved in the FOSS community, as a developer._ As a long time Linux fan and self-proclaimed open source software enthusiast, I have always appreciated the values and products of the FOSS movement. Over the last several years I have had an overwhelming desire to give back to the community in the form of code commits but kept from doing so by my obligations as a student and research assistant. When the opportunity to take a computer science course came up my final semester as an undergraduate at University, I was excited to find that a course similar to independent study existed where one could design their own project to fulfill the course requirements. Thus, an idea was born and I commited to a small project (2 hours in time commitment per week) of my own design. My love for the K Desktop Environment eventually dictated that I explore the (relatively) new "Plasma Desktop" and see if I could build a project out of learning how to develop plasma widgets. This blog entry is intended to be a synopsis of my experience. - - - **The Methods:** _Attempt to modify two existing Plasma widgets into something I desired._ I spent the first four weeks or so attempting to identify a project and decide on what I would consider a meaningful use of my time. First watching many a tutorial on Plasma, QT4, and KDE development. My research eventually leading to the decision to work on two projects. The first, a modification of the basic plasma "digital clock" widget (written in C++) to create a very simple version of an alarm clock. This alarm clock would play some specified, perhaps configurable, sound at a configured time and date or maybe routinely as desired. The second, a modification of the standard dictionary widget to create a plasma thesaurus widget. I spent the next five or so weeks working on the developement of the alarm clock, attempting to integrate [QT timers](http://doc.qt.nokia.com/stable/timers.html) into the modification of the plasma digital clock. After succesfully completing this I moved into modifying the options menu to include a method for setting the alarm variables. At this point I realized that a lot of the work left to do would be more of a graphic design project, and thus decided to move on to the thesaurus widget to keep my focus on software development. With only four weeks left to develop the thesaurus applet, I decided to focus my effort primarily on changing the back end to retrieve data from a web thesaurus with an API. This proved exceedingly difficult, at least in the implementation I attempted, and I ended up spending the majority of this time working to accomplish this. I unfortunately never did, and my commitments to other tasks this semester meant there was little chance I could work more than the previously alotted two hours per week. - - - **The Result:** _A foray into the world of QT and Plasma_ The overall experience... very positive I would say. The entire process was great for learning about the mechanisms and methods of the open source community, or I suppose the QT and KDE community more specifically. Although I do not have a final product to show for my work, I feel much better prepared to get deeply involved with open source software upon my graduation. - - -