<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>an act of subversive playful cleverness &#187; Free Software</title>
	<atom:link href="http://blog.stone-head.org/category/floss/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.stone-head.org</link>
	<description>personal blog of Rudy Godoy</description>
	<lastBuildDate>Mon, 23 Jan 2012 17:55:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<copyright>Copyright © Rudy Godoy :: an act of subversive playful cleverness 2010 </copyright>
	<managingEditor>rudy@stone-head.org (an act of subversive playful cleverness)</managingEditor>
	<webMaster>rudy@stone-head.org (an act of subversive playful cleverness)</webMaster>
	<ttl>1440</ttl>
	<image>
		<url>http://blog.stone-head.org/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>an act of subversive playful cleverness</title>
		<link>http://blog.stone-head.org</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>personal blog of Rudy Godoy</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>an act of subversive playful cleverness</itunes:author>
	<itunes:owner>
		<itunes:name>an act of subversive playful cleverness</itunes:name>
		<itunes:email>rudy@stone-head.org</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://blog.stone-head.org/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Compute clusters for Debian development and building &#8211; final report</title>
		<link>http://blog.stone-head.org/compute-clusters-for-debian-development-and-building-final-report/</link>
		<comments>http://blog.stone-head.org/compute-clusters-for-debian-development-and-building-final-report/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 03:02:24 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[gsoc]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=291</guid>
		<description><![CDATA[Compute clusters for Debian development and building &#8211; final report Summary &#8212;&#8212;- The goal of this project was intended to have Eucalyptus cloud to support ARM images so it allows Debian developers and users to be able to use such facility for taks such package building, software development (ie. Android) under a Debian pre-set image, [...]]]></description>
			<content:encoded><![CDATA[<p>Compute clusters for Debian development and building &#8211; final report</p>
<p>Summary<br />
&#8212;&#8212;-<br />
The goal of this project was intended to have Eucalyptus cloud to<br />
support ARM images so it allows Debian developers and users to be able<br />
to use such facility for taks such package building, software<br />
development (ie. Android) under a Debian pre-set image,<br />
software testing many others.</p>
<p>What was expected to have at the end is a modified version of Eucalyptus<br />
Cloud that supports ARM images on the first place. To date this goal has<br />
been reached but is not complete, read production-ready. Extensive test<br />
needs to be done. Besides that we have another goal which is to get<br />
Debian community to use this new extended tool.</p>
<p>Project overview<br />
&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Eucalyptus is a hybrid cloud computing platform which has a Open Source<br />
(FLOSS) version. It&#8217;s targetted to be used for PaaS (Platform as a<br />
Service), IaaS (Infrastructure as a Service) and other &#8216;distribution&#8217;<br />
models. It can be used also for cloud management. Given that it has<br />
implemented the EC2, for computing, and the S3, for storage, API, it&#8217;s<br />
compatible with existing public clouds such Amazon EC2. Currently it<br />
supports running i386 and amd64 images or NC (Node Controllers) in<br />
Eucalyptus naming.</p>
<p>Eucalyptus is a complex piece of software. It&#8217;s architechture it&#8217;s<br />
modular composed by five components. Cloud Controller (CLC), Walrus (W),<br />
Storage Controller (SC), Cluster Controller (CC) and Node Controller<br />
(NC). The first three are written in Java and the remaining are written<br />
in C. Our project modifications was targetted to the NC component,<br />
altough there is a remaining task for hacking the UI to allow setting<br />
the arch of the uploaded NC image instance.</p>
<p>The Node Controller is in charge of setting the proper information for<br />
Eucalyptus to be able to run virtualized images. Eucalyptus uses XEN and<br />
KVM hyphervisor to handle internal virtualization subsystem, and<br />
Libvirt, which is an abstraction of the existing virtualization<br />
libraries, for program interfacing.</p>
<p>Having that in mind we are back to our project. For our project to be<br />
sucessful we had various tasks to do. Beginning with understanding such<br />
complex piece of software, followed by hacking the requiered bits and<br />
later integrate the work so it results in a useful tool. Our approach to<br />
the project was then inline with such description.</p>
<p>The project&#8217;s history<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>I started my participation in GSoC approaching Steffen to discuss about<br />
what was expected, or more accurately, what was in his mind. We<br />
exchanged emails previous to my application and that resulted on my<br />
application being submitted. From the beginning I should tell that I<br />
wasn&#8217;t much clear on the &#8216;final product&#8217; of the project, however we<br />
refined ideas and goals during the weeks following to the official<br />
begining of the project. What was clear for me, after all, is that for<br />
this to &#8216;see the light&#8217; and gain adoption Eucalyptus code needed to be<br />
dealt with.</p>
<p>Our first task was review ARM image creation from scratch, using the<br />
work done by Aurelien and Dominique in previous GSoC. I&#8217;ve managed to<br />
get an updated ARM image running under qemu-system-arm. The issues<br />
presented in the past were almost unexistant now that the versatile<br />
kernel is official. You can see this on my first report.</p>
<p>After that being done and sometimes in parallel my main goal was then understand<br />
the internals of the Eucalyptus software in order to figure out it&#8217;s<br />
feasibility, where do we need to extend and how big the task is, we<br />
didn&#8217;t knew upfront. From the beginning of the project Steffen was kind<br />
to introduce me to the Eucalyptus developers and that have resulted in a<br />
good outcome for Debian, IMHO, to date.</p>
<p>Understanding Eucalyptus internals was quite a fun task to say the less. As you<br />
can see on the first part of the report Eucalyptus is modularized and<br />
the component I was expected to work with was the NC (Node<br />
Controller). Given that I isolated my work focus, I started to focus on<br />
learning the internals about that component.</p>
<p>Node Controller as described is in charge of &#8216;talking&#8217; with<br />
virtualization hyphervisors in order to arrange things to run guest<br />
image instances. The module has basically one main component: handler.c,<br />
in charge to talk to the appropiate hyphervisor and there are<br />
&#8216;extensions&#8217; (think of OOP polymorphism but acknoledge it&#8217;s plain C)<br />
that interact with KVM or XEN.</p>
<p>I figured that if qemu-kvm is ran in Hyphervisor mode we can manage to<br />
run an ARM image with qemu-system-arm. Given that Eucalyptus has<br />
interaction with KVM hyphervisor in place, this answered the question of<br />
the project&#8217;s feasibility. First green light on.<br />
&gt;From this point the scope reduced to interacting with the KVM handler<br />
(node/handler_kvm.c) and extend it to support running an image that is<br />
not amd64 or i386.</p>
<p>NC makes use of libvirt to abstract interaction with Hyphervisors. So,<br />
the next phase was learning about it&#8217;s API and figure what&#8217;s needed to<br />
be modified next. Libvirt uses a XML file for setting Domain (in<br />
libvirt&#8217;s naming) definitions. So, Eucalyptus provides a Perl wrapper to<br />
generate this file on runtime and allow the NC to invoke libvirt&#8217;s API<br />
to run the instance. Next task then, was adapt such script to support<br />
ARM arch. The current script is taiolred for amd64 and i383. I worked on<br />
that front and managed to get a script prototype, that can later be<br />
improved and support more arch&#8217;s.</p>
<p>Generating an adequate Libvirt&#8217;s XML Domain definition file for ARM can<br />
be a heroic task. There are many things to have in mind given the<br />
diversity of the ARM processor and vendors. I focused on the versatile<br />
flavour given that I was going to test the image I built on the first<br />
place and it ran fine under qemu-system-arm.<br />
The Perl script wrapper then was adapted for such configuration and it<br />
can be tested independently by issuing the following command:</p>
<p>$ tools/gen_kvm_libvirt_xml &#8211;arch arm</p>
<p>The &#8211;arch parameter is what I implemented and it&#8217;s intended to be<br />
called from the kvm handler on instance creation. With the extensibility<br />
in mind I&#8217;ve created a hash to associate the arch with their<br />
corresponding emulator.</p>
<p>our %arches = (<br />
&#8216;amd64&#8242; =&gt; &#8216;/usr/bin/kvm&#8217;,<br />
&#8216;arm&#8217; =&gt; &#8216;/usr/bin/qemu-system-arm&#8217;,<br />
);</p>
<p>Added the arch parameter to the GetOptions() function and used<br />
conditions to tell whether the user is looking for a particular arch,<br />
arm in our case. The most important parts to be considered are the<br />
,  and  entries.</p>
<p>hvm</p>
<p>$local_kvm</p>
<p>There&#8217;s also  and  that require to be tailored for arm.</p>
<p>root=0800</p>
<p>As output the script generates an XML template that can be adapted to<br />
your needs and it could be used and tested with tools like Libvirt&#8217;s<br />
virsh. So that, it can be useful independently of Eucalyptus. I managed<br />
to get to this point before the midterm evaluation.</p>
<p>Now that we had the XML wrapper almost done, the next task was to make<br />
the handler call pass the arch as an argument to the script, so the<br />
image is loaded with the proper settings and we are able to run it.</p>
<p>Eucalyptus doesn&#8217;t have a arch field for NC&#8217;s instances. So, after approaching<br />
Eucalyptus developers, with whom we had already being interacting, I<br />
settled to my proposal of extending the ncInstance struct with an arch<br />
field (util/data.h). The ncInstance_t struct stores the metadata for the<br />
instance being created. It&#8217;s used for storing runtime data as well as<br />
network configuration and more. It was indeed the right place to add a<br />
new field. I did so by creating the archId field.<br />
Now I needed to make sure the arch information is stored and later used on the<br />
libvirt&#8217;s call.</p>
<p>typedef struct ncInstance_t {<br />
char instanceId[CHAR_BUFFER_SIZE];<br />
char imageId[CHAR_BUFFER_SIZE];<br />
char imageURL[CHAR_BUFFER_SIZE];<br />
char kernelId[CHAR_BUFFER_SIZE];<br />
char kernelURL[CHAR_BUFFER_SIZE];<br />
char ramdiskId[CHAR_BUFFER_SIZE];<br />
char ramdiskURL[CHAR_BUFFER_SIZE];<br />
char reservationId[CHAR_BUFFER_SIZE];<br />
char userId[CHAR_BUFFER_SIZE];<br />
char archId[CHAR_BUFFER_SIZE];<br />
int retries;</p>
<p>/* state as reported to CC &amp; CLC */<br />
char stateName[CHAR_BUFFER_SIZE];  /* as string */<br />
int stateCode; /* as int */</p>
<p>/* state as NC thinks of it */<br />
instance_states state;</p>
<p>char keyName[CHAR_BUFFER_SIZE*4];<br />
char privateDnsName[CHAR_BUFFER_SIZE];<br />
char dnsName[CHAR_BUFFER_SIZE];<br />
int launchTime; // timestamp of RunInstances request arrival<br />
int bootTime; // timestamp of STAGING-&gt;BOOTING transition<br />
int terminationTime; // timestamp of when resources are released (-&gt;TEARDOWN transition)</p>
<p>virtualMachine params;<br />
netConfig ncnet;<br />
pthread_t tcb;</p>
<p>/* passed into NC via runInstances for safekeeping */<br />
char userData[CHAR_BUFFER_SIZE*10];<br />
char launchIndex[CHAR_BUFFER_SIZE];<br />
char groupNames[EUCA_MAX_GROUPS][CHAR_BUFFER_SIZE];<br />
int groupNamesSize;</p>
<p>/* updated by NC upon Attach/DetachVolume */<br />
ncVolume volumes[EUCA_MAX_VOLUMES];<br />
int volumesSize;<br />
} ncInstance;</p>
<p>With that in place what was left was modifying the functions that<br />
store/update the ncInstance data, and also the libvirt&#8217;s function that<br />
calls the gen_kvm_libvirt_xml script. I&#8217;ve modified the following files:<br />
- util/data.c<br />
- node/handlers_kvm.c<br />
- node/handlers.{c,h}<br />
- node/test.c<br />
- node/client-marshall-adb.c</p>
<p>Most important the allocate_instance() function that is in charge of setting up<br />
the instance metadata a prepare it to pass it to the handler, then<br />
hyphervisor trough Libvirt&#8217;s API. The function now has a new archId<br />
parameter as well, to keep coherence with the field name. It also<br />
handles whether the field is set or not. We (Eucalyptus developers and<br />
I) haven&#8217;t settled wether to initialize this field with a default value<br />
or not. I&#8217;d stepped up and initialized with a NULL value for this string<br />
type var.</p>
<p>if (archId != NULL){<br />
strncpy(inst-&gt;archId, archId, CHAR_BUFFER_SIZE);<br />
}</p>
<p>Stores the value only if it&#8217;s passed to the function. This is essential to<br />
don&#8217;t break existing functionality and keep consistency for later releases.<br />
With this we almost finished the part of extending Eucalyptus to support<br />
arm images. It took quite long to get to that point. Next step: test.</p>
<p>As I mentioned in my previous report the current Eucalyptus packaging<br />
has issues. From the beginning I&#8217;ve approached the pkg-eucalyptus team,<br />
who were very hepful. So I myself set me up and joined the pkg team with<br />
commit access to the repo. Even the GSoC is not intended for packaging<br />
labour, I needed to clear things on that side because what we want is<br />
adoption so anyone, say a DSA or a user, could setup a cloud that has<br />
support for running arm instances under amd64 arch.</p>
<p>Over the weeks between mid-term evaluation and past week I&#8217;ve worked on<br />
that front. Results were good, as you can see in the pkg-eucalyptus<br />
mailing list and SVN repo.<br />
Eucalyptus has a couple of issues that because of it&#8217;s nature and complexity<br />
triggered build errors. Those issues came from the Java side of the project and<br />
few form the C-side. The C-part was a problem with AXIS2 Jar used to generate<br />
stubs for later inclusion on build-time. There&#8217;s no definitive solution to date<br />
because one of the Makefile on gatherlog/Makefile issues a subshell call that<br />
doesn&#8217;t catches the AXIS_HOME environment variable. I&#8217;ve worked around this<br />
by defining it as a session env var from .zshrc. The other problem is related<br />
to the Java libary versioning and most likely (we had to investigate further)<br />
to groovy versioning.</p>
<p>As I explained Eucalyptus has 3 components written in Java. The Java code uses<br />
extensively the AXIS2 library for implementing webservices calls, the groovy<br />
language for JVM, and many other Java libaries. Eucalyptus open source version<br />
ships both &#8216;online&#8217; and &#8216;offline&#8217; versions. The difference is basically that<br />
the offline version ships the Java libaries JAR files inside the source code,<br />
so you can build with all required deps.</p>
<p>Our former packaging used a file to list which Java libraries the package<br />
depends on and it symlinked them using system wide installed packages. This<br />
rather than helping out triggered a lot of problems I explaing with more detail<br />
on the pkg-eucalyptus ml. I worked around this by telling the debian/rules<br />
not to use such file to symlink and instead use the existing ones from<br />
the source. The last weekend I managed to get to that point and built<br />
sucessfully the software under Debian. I&#8217;ve done that in order to have a<br />
complete build-cycle for my changes, and then test. In fact today I&#8217;ve<br />
spotted and fixed a couple of bugs there.</p>
<p>What&#8217;s available now<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
To date we have a Eucalyptus branch where my patches are sent. The level of<br />
extension is nearly complete, more testing needed. One missing bit is to<br />
change the UI so that the user selects which arch her image is and that<br />
value is passed to the corresponding functions on the Node Controller<br />
component.</p>
<p>We also have an ARM image that can be tested and later automated. I&#8217;ve<br />
recently learned about David Went&#8217;s VMBuilder repo that extends Ubuntu&#8217;s<br />
vmbuilder to support image creationg. I might talk to him to adapt the tool<br />
in order to support creation of arm images and use it to upload to an<br />
Eucalyptus cloud.</p>
<p>I&#8217;ve also created a wiki page with different bits on which I was working on.<br />
I&#8217;ve yet need to craft it to be more educational. I guess I&#8217;m going to use<br />
this report as a source :)</p>
<p>We also had more strong cooperation with the Eucalyptus project and<br />
involved their developers on the packaging and this project, which is<br />
something I consider a great outcome for this project and GSoC goals:<br />
to attract more people to contribute to FLOSS. I&#8217;ve also been contacted by<br />
people from the Panda Project and we might cooperate also.</p>
<p>Future work<br />
&#8212;&#8212;&#8212;&#8211;<br />
I plan to keep working on the project regardless the GSoC ends. Our goal<br />
as Debian could be integrating this into the Eucalyptus upstream<br />
branch. We have good relations with them so expect news from that side.<br />
I also plan to keep working with the Eucalyptus team and related<br />
software in Debian, given that I&#8217;m familiarized with the tools and<br />
projects.<br />
I&#8217;m also planning to advocate SoC for Debian in my faculty. To date we<br />
had already 4 students, IIRC, that have participated in the past.</p>
<p>Project challenges and lessons<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>During the project I faced many challenges both in the personal side<br />
and in the technical one. This part is a bit personal but I expect we<br />
learn from this.</p>
<p>First challenge was the &#8216;where do I sit&#8217; problem. My project was<br />
particular, indeed quite different from the others on it&#8217;s nature. I had<br />
to work on a software that is not Debian&#8217;s and then come and say &#8216;Hey we<br />
have this nice tool for you, come test it!&#8217;. So, indeed, my focus was on<br />
the understanding of such tool, Eucalyptus, and not much on looking back<br />
at Debian because I didn&#8217;t feel I had something to advertise yet and<br />
indeed I got most valuable/useful feedback from Eucalyptus developers<br />
rather than Debian&#8217;s, which for the case is OK IMHO. I had great<br />
mentoring. This situation probably looked a bit of &#8216;isolation&#8217; from my<br />
side, from Debian&#8217;s POV, but it was not intended it&#8217;s just how it needed<br />
to be IMHO.  I felt that I wasn&#8217;t contributing directly to the<br />
project. I&#8217;ve spoke about such thing with Steffen a couple of times. I&#8217;d<br />
like to say that it was also my concern but I probably failed on<br />
communicating this, second challenge.</p>
<p>Third challenge was more technical and related to the first one. Since I<br />
was not writing any code for a Debian native package/program but instead for<br />
other project I faced the situation of where to publish my<br />
contributions. Eucalyptus had some issues on managing their FLOSS repo<br />
and the current development one is outdated comparing to the<br />
-src-offline 2.0.3 release. The project didn&#8217;t fit pkg-eucalyptus repo<br />
neither, even we thought to branch the existing trunk and ship my<br />
contribs as quilt patches, but it involved a lot of more work and burn<br />
on reworking something that has issues now. Later on time I branched the<br />
bzr eucalyptus-devel Launchpad repo and synced there with the<br />
src-offline code. I was slow to react on thing I can say.</p>
<p>Fourth challenge was also technical and still dealing with. I was looking to<br />
setup a machine to set a cloud and test my branch. The Dean of my faculty<br />
kindly offered a machine but I&#8217;ve never managed to get things arranged<br />
with the technical team. Steffen and I discussed about this and evaluated<br />
options, at the end we settled on pushing adoption rather than showcasing it.<br />
Since for adoption we need a use case, I&#8217;ve spend some SoC money on hardware<br />
for doing this. I should have news this week on that side :)</p>
<p>Finally, I&#8217;d like to thank everyone on the Debian SoC team for this<br />
opportunity to participate. I like to thank Steffen for his effort on<br />
arranging things for me, Graziano from Eucalyptus for his advice on<br />
working with the software code. The different people from Eucalyptus I<br />
interacted with and showed interest on  the project&#8217;s sucess. My<br />
classmates and teachers from the Computer Science School at UCSP in<br />
Arequipa-Peru, friends from the computing community in Peru &#8211; SPC and<br />
finally my family. Thank you, I learned a lot, specially on the personal<br />
side. As Randy Pausch put: &#8220;The brick walls are there to give us a<br />
chance to show how badly we want something.&#8221;</p>
<p>Resources<br />
&#8212;&#8212;&#8212;</p>
<p>Please see the Wiki page[1] for any reference to the project&#8217;s resources.</p>
<p>1- http://wiki.debian.org/SummerOfCode2011/BuildWithEucalyptus/ProjectLog</p>
<p>Best regards,<br />
Rudy</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/compute-clusters-for-debian-development-and-building-final-report/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Compute Clusters Integration for Debian Development and Building &#8211; Report 4</title>
		<link>http://blog.stone-head.org/compute-clusters-integration-for-debian-development-and-building-report-4/</link>
		<comments>http://blog.stone-head.org/compute-clusters-integration-for-debian-development-and-building-report-4/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 05:32:58 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[eucalyptus]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=287</guid>
		<description><![CDATA[Hello, this is the fourth report for the project. First, I&#8217;d like to apologize for being late, I took a short trip over the weekend and missed the deadline. This time I&#8217;ve good news for my project. As expected I&#8217;ve made the necesary changes to have Eucalyptus support ARM images. The approach was extending and [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, this is the fourth report for the project. First, I&#8217;d like to<br />
apologize for being late, I took a short trip over the weekend and<br />
missed the deadline. This time I&#8217;ve good news for my project. As<br />
expected I&#8217;ve made the necesary changes to have Eucalyptus support ARM<br />
images. The approach was extending and exposing an &#8216;arch&#8217; field that<br />
will be used by libvirt&#8217;s XML domain file. I&#8217;m working currently on<br />
having the involved functions working with the new extension and I<br />
expect to have this done over the middle of the next week. </p>
<p>What was done so far<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
- Extended the ncInstance_t struct on util/data.h adding the archId<br />
  parameter. This struct keeps the information regarding a node (nc),<br />
  say RAM, Kernel, etc. Currently it has no way to set an arch in order<br />
  to be used later.</p>
<p><code>typdef struct ncInstance_t{<br />
...<br />
    char reservationId[CHAR_BUFFER_SIZE];<br />
    char userId[CHAR_BUFFER_SIZE];<br />
    char archId[CHAR_BUFFER_SIZE]; // arch field added<br />
    int retries;<br />
...<br />
}</code><br />
  The Eucalyptus team was OK with this approach that I&#8217;ve proposed few<br />
  weeks ago. For all my changes the approach is maintain compatibility<br />
  with existing features.<br />
  We still have to define if we are setting a default value, say amd64,<br />
  or keep it unset until the user sets one. For now we will be supporting<br />
  amd64 and arm as valid fields.</p>
<p>- Modified the allocate_intance() function to support the archId<br />
  field. This involved adding a new parameter and detecting whether its<br />
  present and setting de value accordingly. This function is later used<br />
  by the doRunInstance() function in node/handlers_kvm.c</p>
<p>- Modified the involved functions that are called by the KVM handlers<br />
  and result in passing parameters to the XML file generator for being<br />
  used by libvirt&#8217;s and KVM and have the image running under<br />
  Eucalyptus. The new parameters and field are not required and only<br />
  being used if they are set with a value. The archId parameter has been<br />
  added as the last one, so existing function calls can work. This could<br />
  be rearranged later, but will involve a more extensive revision with<br />
  Eucalyptus developers.</p>
<p>- I&#8217;ve set a git local repo in order to keep track of the changes to<br />
  Eucalyptus. Since this part is a sort of a Eucalyptus branch I took<br />
  this approach. Steffen and I are discussing whether to release this as<br />
  a pkg-eucalyptus branch (as dpatch, using existing packaging). Either<br />
  way I&#8217;m putting the diff files form my git repo over the wiki and will<br />
  put them on my site too. I plan to use git-svn in order to send them<br />
  later to the pkg-eucalyptus repo once we are settled with this.</p>
<p>- Updated the project&#8217;s wiki[1] page with information regarding all that&#8217;s<br />
  involved on my work, so it can be &#8216;re-played&#8217; or resumed later. </p>
<p>1- http://wiki.debian.org/SummerOfCode2011/BuildWithEucalyptus/ProjectLog</p>
<p>What I plan to to over the next weeks<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
- Finish the modifications to the relevant functions. Expected dealine:<br />
  next week.<br />
- Do integration tests:<br />
  &#8211; Write a test program, there&#8217;s an example under node/ that could be<br />
    helpful.<br />
  &#8211; Generate the XML domain definition from Eucalyptus functions. The<br />
  full cycle: handler_kvm -> allocate_instance -> get_instance_xml -><br />
  have the XML file properly generated -> qemu-kvm runs the instance<br />
  using the proper emulator (arm in our case).<br />
- Test runnning the image I&#8217;ve worked on the project&#8217;s begining.<br />
- Fixing bits and cooperate with the pkg-eucalyptus team on the<br />
  packaging bits.<br />
- Talk to Eucalyptus so they adopt our patches.<br />
- Rock and roll :)</p>
<p>What would be nice to have after the project ends<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
- The Debian packaging *needs* work. I&#8217;ve already discussed this on the<br />
  pkg-eucalyptus mailing list. I&#8217;ve also committed myself to help on<br />
  that side even after the SoC ends.<br />
- Talk with upstream and Ubuntu to coordinate the packaging efforts and<br />
  modifications to the software.<br />
- Get adopters to use our work :)</p>
<p>By now, few weeks about to finish the SoC, I can say that it&#8217;s been a<br />
good experience and as I stated I&#8217;m planning to keep maintaing/working<br />
on the software after that. I&#8217;ve already joined the pkg-eucalyptus team<br />
and plan to contribute actively. I&#8217;m sad I didn&#8217;t managed to get Debconf<br />
this year, time was a constraint again, hopefully we can meet in 2012! I<br />
guess that all by now!</p>
<p>Best regards,<br />
Rud</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/compute-clusters-integration-for-debian-development-and-building-report-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Compute Clusters Integration for Debian Development and Building &#8211; Report 2</title>
		<link>http://blog.stone-head.org/compute-clusters-integration-for-debian-development-and-building-report-2/</link>
		<comments>http://blog.stone-head.org/compute-clusters-integration-for-debian-development-and-building-report-2/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 04:03:44 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[eucalyptus]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=264</guid>
		<description><![CDATA[Hello, this is the 2nd report regarding my project. I'll offer a brief summary of how are we doing and then the details, so you don't have to read everything at all. I have to start saying that over the last two weeks I made a lot of progress on the project. The most important [...]]]></description>
			<content:encoded><![CDATA[<pre>Hello, this is the 2nd report regarding my project. I'll offer a brief
summary of how are we doing and then the details, so you don't have to
read everything at all.

I have to start saying that over the last two weeks I made a lot of
progress on the project. The most important part: Debian ARM image
integration with Eucalyptus is now cleared. The work to be done for the
next two weeks is pretty much fully coding to achieve what we've committed:
supporting Debian ARM images for Eucalyptus.

What was done so far
--------------------

- I've have identified and mapped what needs to be modified over the
  eucalyptus source for supporting ARM. I'm puting the details on the
  next section. I think this is the most crucial part that is now
  sucessfully achieved.
- I started a Project Log[1] on the wiki, so anyone can check and
  eventyally use the information I've already gathered. The log is being
  updated constantly. You can also check what I've done and what I'm
  working on.
- We got feeback[2] from Eucalyptus developers and packaging
  team regarding developers and packaging team regarding the ultimate
  source for debian/ packaging bits. This was quite important because
  in the past I've managed to build Eucalyptus from source using the debian/
  included in the upstream tarball. However the people in charge
  told us that they were using a different one, which indeed was
  different and resulted in different output than I expected. I'm
  still working on fixing the bits to get a clean build.
- I've joined the pkg-eucalyptus team and I've been given commit rights
  to the repo[2].

1- <a href="http://wiki.debian.org/SummerOfCode2011/BuildWithEucalyptus/ProjectLog">http://wiki.debian.org/SummerOfCode2011/BuildWithEucalyptus/ProjectLog</a>
2- <a href="http://lists.alioth.debian.org/pipermail/pkg-eucalyptus-maintainers/2011-June/000289.html">http://lists.alioth.debian.org/pipermail/pkg-eucalyptus-maintainers/2011-June/000289.html</a>

What I'll be working over the next two weeks
--------------------------------------------

- Heavily code on the different bits that I've identified and need to be
  changed. They are:
  C code:
  - node/handlers_kvm.{c,h} - handles nc creation. nc's are node
  clusters for Eucalyptus, the code is in charge of node creation. It
  prepares the "machine" that is able to run a compatible image.
  - util/data.{c,h} - handles instance creation. The code over there
  implements the functions node/handlers_* use, like instance creation
  and libvirt's API parameter passing. Since libvirt's parameters for
  ARM vary from x86's ones, we need to support that.
  Perl code:
  - tools/gen_kvm_libvirt_xml - wrapper tool for creating KVM/QEMU
  libvirt's XML Domain definition. This needs to be heavily
  changed/updated - redesigned, to support ARM architecture.
- Depending on the previous task progress: Modify the Debian packaging
  bits for Eucalyptus and push them to the pkg-eucalyptus's team
  repository. This is not crucial for my project's success but I'd like
  to work with Debian official builds. I've yet to commit the
  Eucalyptus team version to the debian/ dir. I expect to have fixed
  the bits to get a successful and clean build, then commit.

Other plans
-----------

- I expect a slow down on the work pace over the second week due end of
  semester exams on the week from July 3 to July 9. After that week I'm
  on vacations and will be fully dedicated to the project.
- Code changes to Eucalyptus source will be pushed upstream. I would
  not like to keep a separate repo for this. I'll talk about this with
  Steffen. Changes to Debian bits will be pushed to the appropiate repos.

Other bits
----------

When the project started I noted it was too vague for some people and
it's results/output were unclear. This concerned me. However, while the
project started and we got lot of feedback things got much clear and I'd
like to take the opportunity to explain it a bit.

Currently, developers targeting ARM devices are struggling[1] with having
a development environment. There are missing bits that sometimes are not
in place and result on hard time for them. Also, due mobile devices
growth and vendors using Linux-based[2] operating systems it's a nice
opportunity for Debian to keep it's well known fame of: supporting every
arch over the sun. How this project fits, well by offering the ability
for developers to run ARM-based Debian images over x86/x86_64 CPU's
would impact the way they could be more productive and for Debian to be
more adopted as development environment.

I can say that I'm very enthusiast of this opportunity and I'm
certain that the outcome will result in more adoption. Even the Ubuntu
people is now pushing more and more efforts for ARM official support,
due the facts I've stated.

1- <a href="http://lists.debian.org/debian-arm/2011/06/msg00020.html">http://lists.debian.org/debian-arm/2011/06/msg00020.html</a>
2- <a href="http://events.linuxfoundation.org/events/android-builders-summit/back">http://events.linuxfoundation.org/events/android-builders-summit/back</a></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/compute-clusters-integration-for-debian-development-and-building-report-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Is Debian listening to its users?</title>
		<link>http://blog.stone-head.org/is-debian-listening-to-its-users/</link>
		<comments>http://blog.stone-head.org/is-debian-listening-to-its-users/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 23:32:44 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[userfeedback]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=113</guid>
		<description><![CDATA[For some time ago I&#8217;ve been pondering about this question. As long as GSoC 2009 is about to start and people are looking for project ideas, I&#8217;m posting here a very preliminar draft of my findings and an idea for a posible software project. It&#8217;s pretty written on-the-fly while I&#8217;ve managed to have some minutes [...]]]></description>
			<content:encoded><![CDATA[<p>For some time ago I&#8217;ve been pondering about this question. As long as GSoC 2009 is about to start and people are looking for project ideas, I&#8217;m posting here a very preliminar draft of my findings and an idea for a posible software project. It&#8217;s pretty written on-the-fly while I&#8217;ve managed to have some minutes between work and uni. Rigurous wording isn&#8217;t P1.</p>
<p><a href="http://www.debian.org/social_contract">Debian&#8217;s social contract</a> 4th item states:</p>
<blockquote><p><strong>Our priorities are our users and free software</strong> We will be guided by the needs of our users and the free 	  software community. We will place their interests first in 	  our priorities.</p></blockquote>
<p>When we make decisions, either technical, legal and others regarding the operating system we deliver, this is one of the most referred argument. Altough that&#8217;s seen as high priority often we don&#8217;t have ways to properly know what our users want. While working on translations on the Spanish team we&#8217;ve faced this situation. Do our users find them useful? they are able to understand them? they find that a much familiar wording would be bette than high technical details? We didn&#8217;t know. Then, the question still exists.</p>
<p>Altough Debian has ways for users to provide feedback (BTS, mailing lists, IRC,  popcon, etc) none of them is designed to offer a way for the user to provide feedback on features, development roadmap and other non-bug aspects that developers and the project can tally and use for prioritize on releases. It&#8217;s rather amusing to note that one of the most valuable assets free software community has is user involvement and contribution.</p>
<p>But before we enter in details let&#8217;s start on the basics. For using this information we first need to know who our users are? do we? From my findings and interaction with the community I&#8217;ve identified two kinds of Debian users who can be clearly named.</p>
<p>1) The derivatives or pure blends, who use the Debian base and framework to build niche distributions.</p>
<p>2) The lead users (using E. Von Hippel&#8217;s definition), who are the developers, contributors and a group of users. Debian is, if not the only, one of the projects who is best for fostering lead users. Most of them at some point involve themselves in the development process and some, later become developers.</p>
<p>There is a more diverse group who are end-users but it&#8217;s unclear to me how we can group them. Despite that they probably represent the biggest part of the pie.</p>
<p>So, how we do please everyone? can we? In my opinion we can, at some degree. By implementing tools for first: gather user feedback, make statistical data, tally, we later can take informed decisions. In Debian decisions are voted and the set of people who votes are only developers with their own constraints.</p>
<p>I think this would ease the constant that release-decisions-regarding-foo-tech-legal-issue represented on each release iteration, saving time, health and bits.  It could be useful for knowing more about who are the ones we develop things for. I&#8217;m thinking of some sort of Dell&#8217;s IdeaStorm.com for software.</p>
<p>What do you think? I&#8217;m willing to co-mentor this if someone finds that is an interesting project for GSoC. Let me know!.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/is-debian-listening-to-its-users/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Problemas en gestión de proyectos de software</title>
		<link>http://blog.stone-head.org/problemas-en-gestion-de-proyectos-de-software/</link>
		<comments>http://blog.stone-head.org/problemas-en-gestion-de-proyectos-de-software/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 15:33:51 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=87</guid>
		<description><![CDATA[Hace algunas horas Cristian comentaba acerca del post sobre las lecciones que se pueden tomar del software libre para la gestión de proyectos. Aquí su comentario: Que tal Rudy te saluda Cristian Villalta acabo de leer el articulo y me parece de mucha utilidad pues justo ando trabajando en una tesis relacionada a la gestion [...]]]></description>
			<content:encoded><![CDATA[<p>Hace algunas horas Cristian comentaba acerca del post sobre las <a href="http://blog.stone-head.org/aprendiendo-del-ecosistema-de-software-libre/">lecciones que se pueden tomar del software libre para la gestión de proyectos</a>. Aquí su comentario:</p>
<blockquote><p>Que tal Rudy te saluda Cristian Villalta acabo de leer el articulo y me parece de mucha utilidad pues justo ando trabajando en una tesis relacionada a la gestion de proyectos y software libre. Queria hacerte un par de preguntas:<br />
Que problemas son los mas comunes, desde tu punto de vista, en la gestion de proyectos &#8230; y &#8230; cual es el impacto del Sw libre en la gestion de proyectos, desde ya agradecido.</p>
<p>Saludos.</p></blockquote>
<p><cite>Originally posted as a <a href="http://blog.stone-head.org/2008/07/08/aprendiendo-del-ecosistema-de-software-libre/#comment-4125622">comment</a> by <a href="http://disqus.com/people/f6c29caaf8d248449b0be6478cd2f913/">Criso</a> on <a href="http://blog.stone-head.org">a subversive act of playful cleverness</a> using <a href="http://disqus.com">Disqus</a>.</cite></p>
<p>Los problemas que he observado en los proyectos de software tienen que ver generalmente con respecto a la gestión de equipo y recursos. Por otro lado, uno de los temas que presenta muchas situaciones complicadas es la definición del ámbito del proyecto y los requisitos del mismo. De hecho, hoy, existe una rama de software que se dedica específicamente a la ingeniería de requisitos.</p>
<p>Para el primer caso, el software libre tiene la ventaja de que los integrantes del equipo o proyecto trabajan en aspectos que son de su interés, de esta manera el proyecto en global se beneficia teniendo mejores resultados, personas comprometidas y apasionadas con su trabajo. Sin embargo, esto presenta el problema de que, generalmente, se pierde un poco el sentido de visualización integral del proyecto, cosa que se suele mejorar con la incorporación de roles de coordinación, por ejm. lo que hace Linus Torvalds o Andrew Morton en el kernel linux.</p>
<p>Además, gracias a las herramientas que ha adoptado la comunidad de software libre para soportar su desarrollo, los procesos generalmente tiene un soporte adecuado por lo que se hacen, hasta cierto punto, eficientes. A medida de que una organización tenga sus procesos mejor estructurados y estandarizados podrá obtener mejor provecho de las herramientas que tiene disponibles, y no al contrario. Esto último es algo que observo en muchas organizaciones, generalmente adquieren software que puede ofrecerles infinidad de posibilidades, razón por la cual otras empresas lo emplean, sin embargo al no tener la base definida es poco el provecho que obtienen pues no se busca optimizar el proceso a través del empleo herramientas.</p>
<p>Respecto al tema de definición de requisitos y ámbito del proyecto, podemos tomar, del software libre, como aspecto relevante la constante interacción con el usuario final a través de sus procesos de retroalimentación y la publicación de versiones en etapa temprana (beta). Esto permite que el desarrollo se realice a medida que se encuentre una necesidad del usuario. Sea un informe de fallo, solicitud de características nuevas, modificación de funcionalidad, etc. estas incidencias son las que usualmente activan los esfuerzos de desarrollo y mantienen una línea de vida constante en el proyecto de software. Si se pierde el interés en el software o no se obtiene esta retroalimentación, usualmente el desarrollo se estanca y suele quedar abandonado.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/problemas-en-gestion-de-proyectos-de-software/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Academia y software libre en la UPC</title>
		<link>http://blog.stone-head.org/academia-y-software-libre-en-la-upc/</link>
		<comments>http://blog.stone-head.org/academia-y-software-libre-en-la-upc/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 07:26:41 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Academia]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Talks]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[gnuupc]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[osswatch]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[upc]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=82</guid>
		<description><![CDATA[El software libre, desde sus inicios, ha tenido un estrecho vínculo con la academia. Proyectos como GNU, FreeBSD, Linux, se han gestado en los claustros de conocidas universidades, por sus estudiantes. Hoy en día, una buena parte del software libre, que podemos encontrar en sitios como freshmeat.net, es desarrollado dentro de entornos académicos. Toda esta [...]]]></description>
			<content:encoded><![CDATA[<p>El software libre, desde sus inicios, ha tenido un estrecho vínculo con la academia. Proyectos como GNU, FreeBSD, Linux, se han gestado en los claustros de conocidas universidades, por sus estudiantes. Hoy en día, una buena parte del software libre, que podemos encontrar en sitios como freshmeat.net, es desarrollado dentro de entornos académicos. Toda esta producción inicial se ha realizado en un entorno pre-ecosistema  de software libre, en el que, además del software, también se construyeron las bases de la cultura y prácticas adoptadas por la comunidad.</p>
<p>Hoy, el desarrollo que ha alcanzado el ecosistema de software libre ha permitido que cada vez más organizaciones, empresas, e instituciones adopten las soluciones de software creadas por éste. Por un lado, estudios recientes, como los de <a href="http://www.gartner.com">Gartner</a>, señalan que <a title="Gartner predict open source usage in commercial software" href="http://arstechnica.com/news.ars/post/20080205-gartner-80-percent-of-commercial-software-programs-will-include-open-source-by-2012.html">para el 2012 gran parte de los productos comerciales de software emplearán componentes de software libre</a> y que <a title="Gartners top predictions for 2008" href="http://www.gartner.com/it/themes/economy/audio/FallEuroSymWebCannes.ppt">por lo menos una tercera parte del presupuesto de las empresas para software de aplicación se destinará a servicios de suscripción</a>.</p>
<blockquote><p><a title="IDC view of open source" href="http://www.businesswire.com/portal/site/google/?ndmViewId=news_view&amp;newsId=20060814005620&amp;newsLang=en">IDC</a> said “Open Source is the most significant all-encompassing and long-term trend that the software industry has seen since the early 1980’s.”</p>
<p><a title="Gartner predict open source usage in commercial software" href="http://arstechnica.com/news.ars/post/20080205-gartner-80-percent-of-commercial-software-programs-will-include-open-source-by-2012.html">Gartner predict</a> that “ <strong>By 2012, 80 per cent of all commercial software will include elements of open-source technology.</strong> ”</p>
<p>A <a title="Actuate survey findings" href="http://www.computerworlduk.com/toolbox/open-source/open-source-business/news/index.cfm?newsid=11278">survey</a> of nearly 1000 IT staff in the UK, Germany, France and North America, commissioned by Actuate, showed that fifty four percent of businesses in the UK felt that the benefits of open source outweighed any negative aspects</p>
<p>Another Gartners <a title="Gartners top predictions for 2008" href="http://www.gartner.com/it/themes/economy/audio/FallEuroSymWebCannes.ppt">top predictions for 2008</a> is that “by 2012, at least one-third of business application software spending will be as a service subscription instead of as a product licence”.</p></blockquote>
<p>Por otro lado, esto también presenta una situación en la que la demanda de profesionales con conocimiento de tecnologías de software libre se incrementa, mientras que la oferta parece ser cada vez más escasa, según demuestran <a title="Actuate survey preliminary findings" href="http://www.actuate.com/company/news/press-releases-resources.asp?ArticleId=13847">estudios de Actuate</a>.</p>
<blockquote><p><a title="Actuate survey preliminary findings" href="http://www.actuate.com/company/news/press-releases-resources.asp?ArticleId=13847">Research conducted for Actuate</a> found that six in every ten respondents said there “were <strong>serious problems finding the right IT skills to implement and manage open source solutions</strong>”</p></blockquote>
<p>El pasado sábado 22, tuve la oportunidad de ofrecer una charla en mi universidad, la <a href="http://www.upc.edu.pe">UPC</a>, en la que desarrolle estos temas. El enfoque tenia como objetivo el saber cómo aprovechar, inteligentemente, como estudiantes de computación, las oportunidades y recursos que existen hoy para desarrollarnos profesionalmente haciendo lo que nos apasiona: software libre. En este sentido, conversamos acerca del programa <a href="http://code.google.com/soc/">Google Summer of Code</a> como una manera de avanzar hacia tal objetivo, por los beneficios que ofrece a nivel académico y profesional. Además, presenté el proyecto <a href="http://www.oss-watch.ac.uk/">OSS Watch</a>, cuyo objetivo es fortalecer el vínculo entre la comunidad académica y la de software libre a través del desarrollo de material académico que introduzca prácticas  de desarrollo de la comunidad en los cursos de computación. A través de esto el proyecto busca mejorar las capacidades de los futuros profesionales que les permitan desarrollar soluciones basadas en tecnologías de software libre.</p>
<p>La charla estuvo organizada por el grupo <a href="http://www.gnuupc.org">GNU UPC</a>, conformado por alumnos y ex-alumnos de la universidad, que está en un proceso de reactivación de actividades y retomando proyectos a futuro, de los cuales seguro tendré algún grado de culpa. Las <a href="http://wiki.stone-head.org/bin/view/UPC/AcademiaSoftwareLibre?slideshow=on;skin=print#GoSlide1">diapositivas</a> de mi presentación están en el <a href="http://wiki.stone-head.org">wiki</a> que he creado para publicar mis trabajos academicos y proyectos personales.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/academia-y-software-libre-en-la-upc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OLPC Peru, a silent revolution</title>
		<link>http://blog.stone-head.org/olpc-peru-a-silent-revolution/</link>
		<comments>http://blog.stone-head.org/olpc-peru-a-silent-revolution/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 08:06:11 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[arequipa]]></category>
		<category><![CDATA[minedu]]></category>
		<category><![CDATA[olpc]]></category>
		<category><![CDATA[peru]]></category>
		<category><![CDATA[xo]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=44</guid>
		<description><![CDATA[Now that things have settled among people in Peru regarding OLPC and media attention have gone other directions I would like to elaborate a bit on my views and my personal experiences on this project here in Peru. I&#8217;m writing this in English since I consider important that people outside our country have the chance [...]]]></description>
			<content:encoded><![CDATA[<p>Now that things have settled among people in Peru regarding OLPC and media attention have gone other directions I would like to elaborate a bit on my views and my personal experiences on this project here in Peru. I&#8217;m writing this in English since I consider important that people outside our country have the chance to understand a bit more what&#8217;s going on here. Eventually I&#8217;ll manage to write some proposals in Spanish.</p>
<div class="wp-caption alignright" style="width: 250px"><img title="XO" src="http://farm4.static.flickr.com/3036/2838106911_af450e1d33_m_d.jpg" alt="XO" width="240" height="180" /><p class="wp-caption-text">XOs at Islay - Arequipa</p></div>
<p>Last August I had the opportunity to visit some OLPC schools in Arequipa together with my wonderful friend Anita Chan, antropologist and Stanford&#8217;s professor who is writing a book regarding these issues. We choosed Arequipa due logistics and the city itself, one of the spots I like most in my country, but most important because those schools didn&#8217;t got any kind of attention. We thought Arahuay, as being the first one, has got lots of attention and we&#8217;ll probably won&#8217;t see anything new nor relevant to get more feedback from the field.</p>
<p><span id="more-44"></span>Our intention was basically to see and understand how the inclusion of the XO laptops is impacting the school environment and learning process, thus teachers and students. I have to say that for me it was also a learning experience. Adapting myself to a non-technologist mindset for seeing things was challenging and key for discovering and understanding the complexity of this. Most of us, techies, are so excited with the idea of technology solving all our problems that we use to forget that there are other factors to consider, I&#8217;ve learned this from Anita.</p>
<p>Arequipa is a region which, as many others in my country, extends from the Pacific Ocean to the andean valleys, geography here is very diverse and poses challenges to communication. The Ministry of Education have deployed OLPC&#8217;s XO in schools of Atiquipa, Choco, Machahuay, Mollendo, Huaynacotas, Pampamarca, Sayla, Tauría and Toro. Common factor on those towns is their poverty, complicated transportation and accesibility, one-teacher multi-grade schools with no more than two classrooms per school, and lack of connectivity (i.e. Internet). Getting from Arequipa to most of those towns takes about 12 to 14 hours average, some even 20.</p>
<p>Officials at Arequipa Ministry&#8217;s Regional Office where so kind and excited to talk to us, share information and concerns and also helped us to set a itinerary. They seem very entusiast about the project and besides all the problems, on which I&#8217;ll elaborate on later, there&#8217;s a feeling that this is something that is worth doing it and that the targeted population is the right one, who have been always left from such social programs.</p>
<p><strong>A complicated start</strong></p>
<div class="wp-caption alignright" style="width: 250px"><img title="OLPC Peru - Interview" src="http://farm4.static.flickr.com/3097/2838917776_0e011c7398_m.jpg" alt="OLPC Peru - Interview" width="240" height="180" /><p class="wp-caption-text">OLPC Peru - Interview</p></div>
<p>Teachers and kids on the School IE 41050 Virgen de Lourdes &#8211; Islay where very enthusiast of having us there, but as long as Anita&#8217;s interview was ongoing things didn&#8217;t appear that good. Ministry officials, in Arequipa, told us that for most of the towns the teacher and mayor themselves where the ones who went the city and took the machines to their towns using horses at some point of their journey, as they normally do. They also showed their concern about the lack of communication with those OLPC schools as they don&#8217;t have chance, more than once a year, for gathering the teachers and exchange feedback. Lack of budget for this project is also a concern, some of the officials try to visit the schools that are near with their own budget or when traveling for other duties of their jobs. Most schools have been never been visited by a ministry official, nor media, almost nobody from &#8220;the city&#8221;.</p>
<p>We found the kids at the school as they were ready for a demo of their abilities using the XO machines, officials and teachers have encouraged them to do so and look nice to us.  The two teachers also showed enthusiasm and, while briefly answering the questions, made their best effort to demostrate that things are going well and by using the laptops they had more proficiency regarding teacher-student interaction and learning process. As time advanced and savvy Anita asked the same questions again while I hanged with the kids, the outcome was different.</p>
<div class="wp-caption alignright" style="width: 250px"><img title="Students with XOs" src="http://farm4.static.flickr.com/3113/2838046257_6efc6887ca_m.jpg" alt="Stundents with XOs" width="240" height="180" /><p class="wp-caption-text">Stundents with XOs</p></div>
<p>While conversation continued a handful of issues appeared. Teachers argued that, by having the XO&#8217;s, they had to take office of the logistics duties, which complicated their labor since they had to dedicate additional hours, which could be used for academics, with no extra payment (deduced by their implicit complain). Only one of the teachers attended the training Ministry offered and they asked for additional training. Lack of XO skills was confirmed this when one of them told us that she uses a USB pendrive to copy an activity developed in class to the other students&#8217; machines so they can see it, she didn&#8217;t knew about the mesh network. I could notice that most kids were just playing with the XO in the same way they do with kids&#8217;s games outside the classroom, which happened once they lost interest of having no clue on what to do. Later, I figured out that altough kids were very interested about games, they even asked me if I had some for install,  and they managed to find some such eToys, but while they can read, Sugar&#8217;s language was English so they had no idea of what to do next. I had to act as personal software-translator for them and guide one on the game then the others followed. Inquiring the students about their activities and how they use the XO on their daily work confirmed that most of them were clueless about it.</p>
<p>Ministry officials in Arequipa told us that for them is complicated to keep track on the project&#8217;s schools. Altough they are the direct reponsibles for the project, most of the time the Ministry of Education conducted activites, such technical visits, without notifying them so there is no feedback. &#8220;Ministry sends people directly to the towns, they do their job then inmediately return to Lima, never stop by here&#8221;, complained an official.</p>
<p><strong>A silent change</strong></p>
<p>Probably for most of us the concept of ownership is something we almost born with, for those kids it was something they have learned with the XO. When they were given the machines they didn&#8217;t carry them home, they left them at school and also used to confuse, and struggle for, parts (chargers). They hadn&#8217;t adopted the fact that it was something of their&#8217;s. Before the Ministry choosed the school for the OLPC project students were usually found hanging on streets  after class, since their parents were at work. By having the XO&#8217;s they have transformed this in a reason to keep them busy and at home, were they can show the machine to their friends and family members. Parents also are commited with the project and together with the teachers have established a protocol to keep them informed of any kind of issue regarding the machine, here there wasn&#8217;t any kind of atempt of robbery or kid&#8217;s abuse to steal the machine. Teachers have instructed students to carry the machine inside their backpack and to report any kind of incident, such losts, inmediately.</p>
<div class="wp-caption alignright" style="width: 250px"><img title="Tutoring" src="http://farm4.static.flickr.com/3032/2838917730_61ae9e17d7_m.jpg" alt="" width="240" height="180" /><p class="wp-caption-text">Tutoring</p></div>
<p>For these people having the XO has also brought something else than the sole machine. They have become a center of attention. They feel that they are in direct contact with Lima, which is seen as the country&#8217;s ruling center, in a way they are confortable with and prefer over Arequipa&#8217;s intermediation. After long time being left, they finally are on the spotlight where people like us, ministry officials and the ministry himself, techinicians and in more or less degree, depending the town, people interested on their progress often visit them. Here we understand why they all were looking so enthusiast about the project at the begining. They were trying to look as they were doing good in order to receive attention. I couldn&#8217;t figure this out until later discussions with Anita.</p>
<p>By interacting with the kids I&#8217;ve learned very interesting things. I&#8217;ve found very talented kids that besides their social conditions have all the potential to learn and take advantage of this tool. In this particular school, those kids, digital natives, are not unaware of technology in fact, ironically, they have an old broken PC in classroom from a previous program and are also familiar with mobile phones.  I&#8217;ve also noted that some are more advanced than others and share their findings with them, which is a good thing in a multi-grade classroom. Kids feel very stimulated when playing games on the machine and achieving something.</p>
<div class="wp-caption alignright" style="width: 250px"><img title="Old/new paradigm" src="http://farm4.static.flickr.com/3165/2838046265_bf37815236_m.jpg" alt="Old/new paradigm" width="240" height="180" /><p class="wp-caption-text">Old/new paradigm</p></div>
<p><strong>A paradigm for a particular world</strong></p>
<p>Although there has been a lot of discussion regarding the potential benefits of the constructivist model, on which even theorists have differences (Philosophy of Education: An Anthology, Randall Curren, 2007) I hold the opinion that our kids should be the priority. By this I mean that the current deployment have clearly shown their problems, which are not from the project itself, nor the software, nor the people who is voluntering but a vast amount of problems the peruvian education and society have been acumulating from years without solution to date. However, our mission as peruvian citizens, and now I call international community, should not be finding people to blame for, or trying to tag as evil others. We should establish a way to help those teachers, to connect them for sharing experiences and knowledge, to conform groups of volunteers to frequently go those towns and act as feedback agents who also can mentor teachers on taking advantage of the XO and give feedback to the developer community.</p>
<div class="wp-caption alignleft" style="width: 250px"><img title="Interviewving kids" src="http://farm4.static.flickr.com/3267/2838106883_a3a280218a_m.jpg" alt="Interviewving kids" width="240" height="180" /><p class="wp-caption-text">Interviewving kids</p></div>
<p>My advice for people interested on this to be sucessful is to help those schools, to gather and build a community of supporters which can also act as society&#8217;s part on this ministry&#8217;s venture, since they will not have the resources to properly conduct this and our geography is very particular. But more important because should be on our interest, as society, to foster new generations of good citizens who are agents of change and fight sordid ideas which are poisoning young people minds in our country. For people who doesn&#8217;t like the project I do encourage you on focus on your personal interests and move on, let others do their best on what they believe is good and will make a difference.   I&#8217;m very concerned by the fact that most people is interested on despicting the project withouth considering all the implicancies of this forgeting that the more they struggle for the more those kids are not taking any advantage of the machine and the more we, a developing country, will be wasting money.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/olpc-peru-a-silent-revolution/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>GNU no es Unix</title>
		<link>http://blog.stone-head.org/gnu-no-es-unix/</link>
		<comments>http://blog.stone-head.org/gnu-no-es-unix/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 06:20:51 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Academia]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=34</guid>
		<description><![CDATA[Se aproximaba el final del año 97 u 98 cuando el encargado de coordinación me ofreció pasar a formar parte del grupo de operadores OpenVMS en la BVL/CAVALI. Mis compañeros en TdP me decian que no aceptara, que ahi estaba bien. De hecho, ya estaba mas adaptado y la gente me apreciaba, intuyo que además [...]]]></description>
			<content:encoded><![CDATA[<p>Se aproximaba el final del año 97 u 98 cuando el encargado de coordinación me ofreció pasar a formar parte del grupo de operadores OpenVMS en la BVL/CAVALI. Mis compañeros en TdP me decian que no aceptara, que ahi estaba bien. De hecho, ya estaba mas adaptado y la gente me apreciaba, intuyo que además por ser el más joven del grupo con una corbata terrible. Tendría 18 o 19 años en ese momento.</p>
<p>Finalmente acepte y empece a trabajar precisamente el 1ro de enero del año siguiente. El entorno de la BVL era más tranquilo, no tenían grandes servidores ni cosas sofisticadas; sin embargo tenian algunos elementos que eran bastante interesantes para mi, y creo que claves en mi desarrollo: el proyecto era relativamente nuevo asi que había algunas cosas por construir, había un esquema de telecomunicaciones con los distintos agentes de bolsa a través de un sistema ATM usando el <a href="http://es.wikipedia.org/wiki/Norma_X.25">protocolo x25</a> (antecesor del modelo OSI, TCP) -también conocido como MEGANET en TdP-,  el ambiente era tranquilo, teniamos acceso a Internet y el grupo era bastante ameno.</p>
<p>En este lugar es donde logre desarrollar un conocimiento de buen nivel sobre el sistema operativo OpenVMS, a punto que recibia constantes consultas de los nuevos operadores que ingresaban a GMD y de algunos desarrolladores. Mis inicios fueron en el turno de la noche, donde básicamente se procesaba información e imprimia reportes para el día siguiente, ejecutaban respaldos y se aprovechaba parte del tiempo para dormir. Recuerdo que mi primera noche me recoste sobre el sofá que mis compañeros me recomendaron y no desperte hasta las 7am, todavía no me adaptaba; de hecho antes de eso no acostumbraba a desvelarme.<br />
En algún momento pase al turno de la tarde donde tenia que interactuar con usuarios, vestir formal (cosa que jamas me incomodo, salvo cuando me &#8220;sugirieron&#8221; que use el cabello más corto -obviamente me rebele!-), y sobretodo conocer en persona a los CVL$algo, osea los usuarios, de entre los cuales había algunas guapas chicas; cosa que felizmente parece ser una constante.</p>
<p>Con el pasar del tiempo logré automatizar algunos procesos en los servidores, escribi cientos de programas en <a href="http://en.wikipedia.org/wiki/DIGITAL_Command_Language">DCL</a>, y en algún punto practicamente tenia todo el tiempo libre consecuencia de eso. Logré configurar el stack TCP/IP (ya que esos equipos solo funcionaban en red con el protocolo DECNET), ejecutar y navegar en Mosaic desde el entorno Motif de los servidores Alpha para ingresar a Internet y los servicios en los que ya era ávido usuario (confesión).  Descubri todo el mundo detrás de OpenVMS, las conferencias DEC, los grupos de usenet, de los que aprendi, además de incrementar mi interés en conocer el tema en más bajo nivel.</p>
<p>Ocurrio en algún momento que llevamos un curso de Unix, del que ya había oido porque un usuario del chat de Yahoo! lograba hacer cosas que otros no y me dijo que sabia Unix y que debería aprender puesto que todo ese chat estaba sobre Unix. Rápidamente busque en <a href="http://www.altavista.com">Altavista</a> o Yahoo! y aprendi qué era este Unix.</p>
<p>Luego de la primera clase estuve más seguro de que si queria aprender esto. Lamentablemente desde mi sitio no tenia forma de acceder al servidor en la red de GMD que estaba en el otro edificio. No contento con esa limitación empece a investigar en Internet hasta que encontre la luz: Linux, un sistemas imilar a Unix que se podía ejecutar en una PC. Los siguientes pasos fueron reciclar unos discos duros de 500MB, reducir el espacio usado por Windows 95 en la PC (Pentium 33Mhz, 16MB RAM) que tenia asignado, descargar durante 1 mes -debido a que reiniciaban el equipo y la descarga FTP no tenia &#8220;resume&#8221;- una distribución de Linux (creo que RedHat 5.x), y tratar de instalar y configurarla, cosa que logré luego de algunos días.</p>
<p>Cierto día buscando información di con la página del <a href="http://www.gnu.org">Proyecto GNU</a> y leí su manifesto, e inmediatamente coincidi con el mismo. Esto me animó bastante a conocer, usar y promover esto que ahora sabía que se llamaba software libre. Posteriormente supe que habían distribuciones y encontre a mi subsiguiente amor: el <a href="http://www.debian.org">Proyecto Debian</a>. Luego de leer su contrato social, manifesto y las directrices, en donde percibi claramente que cualquiera podría contribuir a éste, levante la mano y dije: yo también. Hasta antes de eso no había sentido tan cercano el hecho de que, además de usar algo, también podía hacer cosas para hacerlo mejor y que beneficie a otros como efecto secundario. Esto claramente fue amor a primera vista, de los cuales uno nunca se separa.</p>
<p>Reemplace el RedHat por Debian, que por ese tiempo era complicado de instalar; lo instale en la PC de mi casa, que había adquirido recientemente, y decidi enlistarme en el grupo de traducción como punto inicial de mi contribución.</p>
<p>De las anécdotas de ese tiempo recuerdo una cuando el nuevo jefe de sistemas, ex marino, ingreso al centro de cómputo para mostrarlo a una visita y empezo a describir las actividades y equipos que teniamos. Al señalar mi PC, ejecutando GNOME 1.x, con una terminal ejecutando top y alguna otra cosa, dijo: desde aquí monitoreamos todo. Tuve dos sensaciones, la primera la obvia (no tenia idea de lo que estaba pasando allí -ya que yo mismo me autorice a instalarlo-) y la segunda fue un poco de ego que me decia: exacto, tengo el control de todo esto (cosa que tampoco estaba lejos de ser cierto).</p>
<p>En algún momento, años después cuando ya había salido de GMD, fui a ayudar a mi amigo Oscar con un tema de backups y para sorpresa mía se trataba de uno de los programas que hice tiempo atrás. Finalmente llegaron a usarlo (Oscar era reacio porque no quería olvidarse las órdenes y sus parámetros) y replicarlo en otros proyectos, fue bastante halagador :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/gnu-no-es-unix/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>debian &#8211; fostering innovation</title>
		<link>http://blog.stone-head.org/debian-fostering-innovation/</link>
		<comments>http://blog.stone-head.org/debian-fostering-innovation/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 05:36:23 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[debconf]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[paper]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=18</guid>
		<description><![CDATA[Latest months have been of great improvement and empowerment on my life; say by my return to the academic life, more of the crazy corporate and business world and other changes on my own (read self hacks) have been keeping me busy and on constant training. Sadly, and not by intent, this have impacted on [...]]]></description>
			<content:encoded><![CDATA[<p>Latest months have been of great improvement and empowerment on my life; say by my return to the academic life, more of the crazy corporate and business world and other changes on my own (read self hacks) have been keeping me busy and on constant training. Sadly, and not by intent, this have impacted on my direct contribution to the free software ecosystem and interact and work together with the brave gnu world out there. However I&#8217;ve been doing some little work and also finding ways to keep cooperating but now from another position. Today I&#8217;d like to present the first of this new form of contribution to the free software ecosystem, and specially to the Debian Project.</p>
<p>In the last couple of months I&#8217;ve been working on a paper which intends to offer a (not so) new -as you might notice after reading it- approach to what the Debian Project have been managing to produce and what can be done to keep doing it better in the new escenery that we are and will be living in the upcoming years.</p>
<p>My work describes the way Debian have been sucessfully producing lead-users, as described by Eric Von Hippel&#8217;s  Democratizing innovation book, since it&#8217;s conception and what elements were key to have done so. Previously it takes a look on how the process of innovation is really done. Then it describes the current and future world&#8217;s escenery according research and current trends, later it makes links between them and gives some ideas for us to keep fostering innovation and play a key role in the free software ecosystem.</p>
<p>With this work my intention is for us to understand what we are, what are we good doing, and how we can keep rocking! I want Debian to look further and be the free software development cutting edge project and atract bright people to work on what they are passionate about.</p>
<p>Hopefully I&#8217;ll be in Mar del Plata to discuss about this and also have some fun with you guys I haven&#8217;t seen in years!</p>
<p>I&#8217;d appreciate any comment or feedback to this. My intention is to turn this work into a collaborative fashion that allow us to make our project much more wonderful!</p>
<p>The full paper is here to download (pdf): <a href="http://stone-head.org/talks/debconf8-fostering-innovation.pdf">http://stone-head.org/talks/debconf8-fostering-innovation.pdf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/debian-fostering-innovation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aprendiendo del ecosistema de software libre</title>
		<link>http://blog.stone-head.org/aprendiendo-del-ecosistema-de-software-libre/</link>
		<comments>http://blog.stone-head.org/aprendiendo-del-ecosistema-de-software-libre/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 08:25:29 +0000</pubDate>
		<dc:creator>Rudy Godoy</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Talks]]></category>
		<category><![CDATA[pmi]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://blog.stone-head.org/?p=16</guid>
		<description><![CDATA[El pasado 24 de junio a invitación del Chapter Lima del PMI ofrecí una charla respecto a los aspectos o practicas de gestión de proyectos que las organizaciones o empresas pueden rescatar del ecosistema de software libre e incorporarlos en sus proyectos, en específico los que tienen que ver con desarrollo de software. La objetivo [...]]]></description>
			<content:encoded><![CDATA[<p>El pasado 24 de junio a invitación del <a href="http://www.pmi.org.pe">Chapter Lima</a> del <a href="http://www.pmi.org">PMI</a> ofrecí una charla respecto a los aspectos o practicas de gestión de proyectos que las organizaciones o empresas pueden rescatar del ecosistema de software libre e incorporarlos en sus proyectos, en específico los que tienen que ver con desarrollo de software.</p>
<p>La objetivo principal, más allá de dar a conocer el software libre como tal, era establecer y reconocer prácticas de gestión y procesos que se puedan rescatar e incorporarlos en el desarrollo de proyectos de software de las organizaciones.</p>
<p>La charla inicio ofreciendo un panorama general de los actores que participan en el desarrollo de proyectos de software libre, como podemos ver en el gráfico adjunto, a saber:</p>
<p><a href="http://blog.stone-head.org/wp-content/uploads/2008/07/opensourcesw_ecosystem2.gif"><img class="alignright alignnone size-medium wp-image-17" style="float: right;" title="Ecosistema de software libre" src="http://blog.stone-head.org/wp-content/uploads/2008/07/opensourcesw_ecosystem2-300x246.gif" alt="Ecosistema de software libre" width="300" height="246" /></a></p>
<ul>
<li>Proyectos en sí,</li>
<li>Usuarios finales: que incluye a personas, empresas, sector público, organizaciones sin ánimo de lucro,</li>
<li>Asociados de los proyectos, que son las organizaciones que apoyan a dichos proyectos, caso gobiernos o empresas,</li>
<li>Partners de los proyectos, que pueden ser empresas u otros proyectos que ofrecen infraestructura base a los mismos,</li>
<li>Comercializadores de los proyectos, que son las empresas que se dedican a dar un soporte y canal comercial a los productos desarrollados bajo este modelo de licenciamiento.</li>
</ul>
<p>Luego de esto explique el esquema de trabajo y gestión de los proyectos de software libre, la forma de organización, su estructura jerarquica, infraestructura de trabajo, interacción entre el grupo humano, etc.</p>
<p>A partir de esta información rescatamos algunos valores o prácticas que las organizaciones que realizan desarrollo de software pueden incorporar para mejorar su gestión y procesos de desarrollo.</p>
<p>Entre estos podemos mencionar a los siguientes:</p>
<p><strong>Confía en tu equipo</strong></p>
<p>Esto se refiere básicamente a que la información acerca del desarrollo, incidencias y progreso del proyecto se maneje de manera abierta, sin ocultar información a nigún integrante del equipo. Todos deben estar claros de lo que ocurre. Un esquema bastante similar al definido por Debian y lo que conocemos como el rol de «dictador benevolente».</p>
<p><strong>Revisa todo, prueba todo</strong></p>
<p>Que trata de resumir la necesidad de incorporar y establecer prácticas de testing en el proceso de desarrollo y aprovechar las herramientas de software, o construir las necesarias, para establecer un ciclo constante de auditoria general y automatización del proceso de pruebas de software. De esta manera a medida que se va desarrollando el proyecto también se tiene a la par un proceso que puede garantizar la validación de su funcionalidad.</p>
<p><strong>Todos los desarrolladores son iguales</strong></p>
<p>Algo que no se refiere a las características personales o de formación, sino a la equidad y valoración de las ideas o aportes de los desarrolladores, sean los más experimentados en el equipo o novatos que se acaban de incorporar. Cualquiera de ellos debe ser escuchandos y sus aportes o ideas respecto al desarrollo o diseño de los proyectos se debe tener en cuenta de la misma manera.</p>
<p>Y finalmente, la premisa que no debemos olvidar:</p>
<p><strong>La mejor manera de finalizar un proyecto de forma exitosa es hacerlo de la forma correcta</strong></p>
<p>Que básicamente nos recuerda que aunque tengamos los procesos definidos, las herramientas necesarias y la infraestructura de soporte para el desarrollo de nuestros proyectos; si los primeros se ignoran y no se siguen desde el inicio del proyecto, por razones de tiempo, urgencia, etc; es mucho más probable que a medida que se desarrolle el proyecto ocurran problemas que si se empieza de la forma correcta.</p>
<p>Esto es lo que cuenta al final del día y puede ser el factor crítico que conduce a pérdidas de tiempo, dinero y time-to-market para una organización. Para que un proyecto sea exitoso se requiere la participación de todos los actores involucrados, que va desde la gerencia hasta el desarrollador. No se trata simplemente de dar indicaciones al programador y encerrarlo un número de días esperando que entregue un resultado maravilloso.</p>
<p>Fue interesante el aprovechar que me antecedio una charla sobre  <a href="http://www.scrumalliance.org">SCRUM</a>, para vincular muchas de estas practicas que tambien son promovidas por frameworks de desarrollo ágil como éste, que fue expuesto por Tobias Mayer de <a href="http://agilethinking.net">AgileThinking.net</a>.</p>
<p>Es posible que existan otras prácticas que los proyectos de desarrollo de software en las empresas puedan incorporar, si has identificado o aplicado alguno ¡dejanos saber!.</p>
<p>Existe más información sobre el tema que he tomado como referencia para esta charla. A continuación pongo algunos enlaces de referencia:</p>
<ul>
<li>Sitio web del MIT que reune trabajos de post-grado sobre temas de software libre. <a href="http://opensource.mit.edu ">http://opensource.mit.edu</a></li>
<li>Articulo sobre el tema en OnLamp de O&#8217;reilly. <a href="http://http://www.onlamp.com/pub/a/onlamp/2006/02/27/what-corp-projects-learn-from-open-source.html">http://www.onlamp.com/pub/a/onlamp/2006/02/27/what-corp-projects-learn-from-open-source.html</a></li>
<li>Consultora Stellman Greene: <a href="http://www.stellman-greene.com">http://www.stellman-greene.com</a></li>
<li>Consultora Construx: <a href="http://www.construx.com">http://www.construx.com</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.stone-head.org/aprendiendo-del-ecosistema-de-software-libre/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

