| fernand0 | no |
| MJesus | traduciran en #redes al otro |
| fernand0 | en chino no |
| felix | jaime: listlogs |
| qnximg | como que en chino no ! |
| jgb | ok. Should we start? |
| fernand0 | yep |
| fernand0 | wait a minute |
| PedroJ | Ça va? |
| fernand0 | Hello, |
| fernand0 | |
| fernand0 | today we have here Gregorio Robles, and Jesús González Barahona. |
| fernand0 | They are |
| fernand0 | with the Grupo de Sistemas y Comunicaciones (ESCET). Universidad Rey Juan |
| fernand0 | Carlos in Spain. |
| fernand0 | |
| fernand0 | The talk will be: "On software libre engineering". |
| fernand0 | Their group is doing very interesting work on this topic. |
| fernand0 | |
| fernand0 | We are grateful to the speakers for preparing this interesting talk. |
| fernand0 | We are also grateful to all of you for comming here. |
| fernand0 | |
| fernand0 | As usual, the talk will be given here. Translators (if available) will translate in #redes. We have also a channel at #qc, where you can write questions and comments about the talk. |
| fernand0 | |
| fernand0 | grex, jgb ... |
| grex | thanx, fernand0 |
| grex | first a note on the title of this talk |
| grex | the title in English should be "on libre software engineering" |
| fernand0 | ops |
| fernand0 | sorry |
| grex | libre software is the term we use to avoid the confusion of free software |
| jgb | Thanks, fernand0 |
| grex | no problem, fernand0 ;-) |
| grex | if you want to know more about this term |
| grex | you can have a look some time at |
| grex | http://sinetgy.org/jgb/articulos/libre-software-origin/ |
| jgb | In fact this is just |
| grex | which is a short story about it |
| jgb | a quick reserch on the origins of the term "libre software" |
| jgb | that despite its obvious French or Spanish origin |
| grex | hmmm... it seems that the URL doesn't work right now |
| jgb | came from the States... |
| jgb | Anyway, grex, I guess |
| jgb | we should enter into the talk... |
| grex | yes, sure |
| grex | so, here's a short summary |
| grex | about the things we are going to talk about |
| grex | Fist, we are going to introduce the differences between 'classical' software engineering and libre software engineering |
| grex | then we are going to analyze the concept of the bazaar |
| grex | and last, but not least we are going to talk a little bit about some studies |
| grex | that some research groups have performed on this matter |
| grex | So, let's take over the first point |
| grex | I imagine many of you have asked yourselves: why libre software engineering? |
| grex | the answer is that it is in some points very different from what we |
| grex | have known as software engineering so far |
| grex | - what we'll call here the 'classical' view |
| jgb | Look at it from this point of view |
| jgb | Libre software projects are doing |
| jgb | almost exactly what classical texts on software engineering |
| jgb | say that a project should avoid |
| jgb | in order to be successful |
| jgb | Of course this is not because those books |
| jgb | are wrong |
| jgb | The issue that the environment is different |
| jgb | Libre software is basically produced in an new environment |
| jgb | completely alien to classical ways of producing software |
| jgb | specially in corporate environments |
| grex | so, new environment means new possibilities, but also new challenges |
| grex | the possibilities come from the part that there is a lot of data available publicly |
| grex | so that we can study the libre software development process |
| grex | think that we don't only have the source code |
| grex | we also have all its history in the version repositories |
| grex | or we can have a look at the bug tracking system to see the errors |
| grex | or at the mailing lists and so on |
| grex | and actually we can have all this for thousands of libre software projects. |
| grex | But on the other hand... libre software is a difficult environment to predict |
| grex | just imagine: we are putting many people who don't know each other |
| grex | in a very different geographical location to work on a software project |
| grex | and we don't even know how much time these developers devote to the project |
| grex | as they are mostly volunteers. |
| jgb | And we don't have |
| jgb | a single point to refer for information |
| jgb | such as the company for which the developers work in the "classical" case |
| jgb | In addition, |
| jgb | libre software is not sold, and it is really difficult to estimate the user base |
| jgb | for any libre software product |
| jgb | In fact, in many cases it is difficult even to track the development activity |
| jgb | since a fork can happen in any moment |
| jgb | and activity goes elsewhere, |
| jgb | where the forked development team |
| jgb | decides. |
| grex | So, once we know why it is interesting to focus on software engineering |
| grex | issues regarding libre software, let's enter into some detail |
| grex | I guess many of you are eager about it |
| grex | let's talk about the bazaar |
| grex | first, we have to have in mind that libre software projects are libre |
| grex | because of the license they are released with |
| grex | that means that being libre is a legal property |
| grex | of the software, no a technical one. |
| jgb | That is, |
| jgb | libre software is defined for the freedoms that |
| jgb | have who received the software |
| jgb | And that doesn't mandate |
| jgb | a certain development model |
| jgb | And in fact, each libre sofware project |
| jgb | has its very own development model |
| jgb | However, many of them |
| jgb | (specially those of a certain size) |
| jgb | exhibit certain common characteristics |
| jgb | The first well known paper stressing those characteristics |
| jgb | was "The cathedral and the bazaar", |
| jgb | by Eric Raymond (esr) |
| jgb | From them on, you can see a lot of talk about |
| jgb | the "bazaar model" |
| jgb | But this was just a first try, |
| jgb | which in fact has later been shown |
| jgb | not that accurate. |
| grex | Here's the URL to CatB |
| grex | http://www.catb.org/~esr/writings/cathedral-bazaar/ |
| grex | which you'll find translated into several languages |
| grex | Basically, its main argument is that bazaar-driven projects |
| grex | try to open the development process as much as possible |
| grex | this means to show you code, to have frequent releases |
| grex | to look for your users in order to make them collaborate |
| grex | and become co-developers |
| grex | and to lower the barrier of entry to people |
| grex | who are willing to collaborate with you on the project |
| grex | One of the main mistakes is that people generally |
| grex | think of libre software as synonym of the bazaar development model |
| grex | which is rather unaccurate |
| grex | if you have a look at SourceForge |
| grex | http://www.sourceforge.net |
| grex | which is the biggest libre software development site |
| grex | with almost 100,000 projects |
| grex | you'll see that most of them are small ones |
| grex | in fact, some studies on it have shown that the median number of developers |
| grex | in a project is 1 |
| grex | in other words, the most common projects are one-developer projects |
| grex | and for having a bazaar-style development model |
| grex | we clearly need more than that. |
| jgb | In any case, |
| jgb | as we said before, some characteristics are found |
| jgb | once and again |
| jgb | in most libre software projects |
| jgb | When a group of developers work on it, |
| jgb | they are usually geographically distributed |
| jgb | usually with almost no face-to-face interaction |
| jgb | working at different time zones |
| jgb | using almost only Internet-based tools |
| jgb | to coordinate themselves |
| jgb | They usually have to deal |
| jgb | with cultural differences |
| jgb | with the lack of formal hierarchies |
| jgb | and even with the "usual" ways to split work: |
| jgb | no boss can say what a volunteer developer |
| jgb | should do |
| jgb | she can just suggest and motivate |
| jgb | (which is a very different role to that of the classical boss) |
| jgb | Therefore we have here some characteristics of |
| jgb | global software development |
| jgb | mixed with new ways of coordination needed when nobody can |
| jgb | simply mandate what a team should do |
| jgb | By the way, the component about global development is really novel |
| jgb | The libre software community is experimenting with the largest |
| jgb | geographically distributed |
| jgb | community of developers |
| jgb | For instance, we have projects with hundreds of people developing software |
| jgb | cooridnated only through Internet-based tools |
| jgb | With respect to coordination, we are seeing |
| jgb | new trends in self-organization. |
| grex | So, once that we know about the bazaar let's have a look then at the different studies that have |
| grex | been performed on big libre software projects |
| grex | One of the most known studies is about Linux |
| grex | and the evolution of its source code |
| unizar.es.uninet.edu MODE #linux +o krocz | |
| grex | historically there has been a branch in software engineering called |
| grex | software evolution that looked at how software evolves |
| grex | in time |
| grex | Of course, having the source code available is a big advantage for libre software |
| grex | so we can perform such studies on any project |
| grex | 'classical' ones usually looked at big systems at IBM and so on |
| grex | where researchers could have a look at (usually signing a Non-Disclosure-Agreement) |
| grex | the study of the Linux kernel has shown that it grows superlinearly |
| grex | which means that the pace of development is increasing |
| grex | while 'classical' studies always had evidences that the growth |
| grex | of big software systems of several millions of source lines of code |
| grex | tend to grow sublinearly |
| grex | Looking for the cause of this |
| grex | researchers have notices that this is due to the modularization of Linux |
| grex | which allows to have several groups working with few communication requirements |
| grex | at the same time on the same project |
| grex | this is specially true for drivers in the linux kernel |
| grex | which may be added independently of any other one |
| grex | so that it allows to grow faster than any other system studied so far |
| grex | by the 'classical' view |
| grex | It would be very interesting to see if this happens also |
| grex | in other libre software projects |
| grex | so ongoing research is focusing on this aspect. |
| jgb | This is just an example of what can be done |
| jgb | by researching the rich information |
| jgb | publicly available in libre software repositories |
| jgb | Those repositories are: cvs or svn repos, mailing lists, |
| jgb | bug reporting systems, weblogs, |
| jgb | and some others |
| jgb | By getting information from them, we can obtain |
| jgb | quantitative data that can later be used |
| jgb | to answer interesting questions, such as |
| jgb | is Linux growing lineraly |
| jgb | or... |
| jgb | are libre software projects above 1 M lines of code |
| jgb | having more bugs, or having them |
| jgb | fixed more slowly? |
| jgb | There are several groups in the world analyzing libre software from this point of view |
| jgb | on of which is ours, at URJC |
| jgb | An example of the tools that these groups are using |
| jgb | and the results that are obtained |
| jgb | can be the CVSAnalY tool |
| jgb | http://libresoft.dat.escet.urjc.es/index.php?menu=Tools&Tools=CVSAnalY |
| jgb | which we use to analyze |
| jgb | CVS logs, and from that information |
| jgb | getting great insight on how libre software is actually produced. |
| grex | for instance, we have used this tool so far for studying several big libre software |
| grex | projects as KDE and GNOME |
| grex | you can find the results for KDE at the following URL: |
| grex | http://libresoft.dat.escet.urjc.es/cvsanal/kde3-cvs/ |
| grex | As you may see, a lot of information can be extracted from CVS |
| grex | big projects usually divide themselves into smaller pieces |
| grex | which are called modules |
| grex | modules try to be independent from each other to avoid having much |
| grex | intercommunication |
| grex | with the CVSAnalY tool we can see who is working on each module and how it |
| grex | has evolved in time |
| grex | there are some interesting things that we have seen out of the analysis of modules |
| grex | first is that older projects usually have several generations of developers working on them |
| grex | this goes against the idea of having 'code gods' |
| grex | in the sense that the people who started and made the project |
| grex | successful can leave the project without fearing it to fall down |
| grex | as others will take it over |
| grex | so we can see different groups of people pushing the project forward |
| grex | in our words: different 'generations' |
| grex | another important issue that has been pointed out in literature |
| grex | very often is the fact that there is a high inequality in contributions |
| grex | a small set of persons contribute a big part of the project |
| grex | following nearly a pareto distribution |
| grex | which says that 20% of developers make out 80% of the contributed code |
| grex | some researchers say that libre software follows an onion model |
| grex | we have a core group of around a dozen developers who take over most part of the tasks |
| grex | and around it another group which is around an order of magnitude bigger that contribute |
| grex | occasionally |
| grex | with source code and by other means |
| grex | finally there is also another group, another order of magnitude bigger than the last one |
| grex | who is responsible for smaller -but very important tasks- as bug reports and so on |
| grex | At last we have the users of the software |
| grex | but knowing their number is pretty difficult as libre software can be redistributed |
| grex | and is shipped in multitude of ways (distributions, etc.) |
| grex | so it is very difficult to know how many people actually use a software. |
| jgb | Another example |
| jgb | of what kind of quantitative studies |
| jgb | can be done is our analysis on Debian |
| jgb | http://people.debian.org/~jgb/debian-counting/ |
| jgb | This was for Debian 2.2, |
| jgb | we are now close to publish similar data on 3.0 and the upcoming 3.1 |
| jgb | These analysis look at the source code for the whole distribution, and |
| jgb | can answer questions such as which languages are being used in Debian |
| jgb | (by the way, the answer is "mainly C, with some C++ and others) |
| jgb | Since Debian includes a large share of all the "stable" software available |
| jgb | for GNU/Linux whcih is also libre (free, open source) software, |
| jgb | this is a good indicator of which languages are used |
| jgb | by the libre software community developing for GNU/Linux-like systems |
| jgb | We can also use a classical measure of the amount of code, |
| jgb | the SLOC (source line of code) |
| jgb | to estimate the size of Debian |
| jgb | which as was said before, is also a rough estimation of the aggregated size |
| jgb | of the libre software developed for GNU/Linux |
| jgb | That was more than 50 MSLOC for Debian 2.2, about 100 MSLOC for 3.0 |
| jgb | and will probably be close to 200 MSLOC for Debian 3.1, according |
| jgb | to our current estimations. |
| jgb | SLOC are very important since they are the only input |
| jgb | to a classical effort estimation model, the COCOMO model |
| jgb | This model uses SLOC of a project to estimate the effort (in man-months) needed |
| jgb | to develop such software, and is widely used as a rough |
| jgb | estimator in "classical" software engineering. |
| jgb | Using it, we can say that, were COCOMO a valid estimator, |
| jgb | the software in Debian had required about 2,000 Meuro to develop |
| jgb | In other words, were the software in Debian developed using classical |
| jgb | soft. eng. methods where COCOMO were valid, |
| jgb | that is the amount of resources needed |
| jgb | Of course this is just a very rough comparison |
| jgb | but can give at least an order of magnitude |
| jgb | Unfortunately, for many reasons COCOMO seems not to be valid for libre software projects |
| jgb | In fact, we are looking for other ways of estimating effort in the case of libre software projects. |
| grex | So, just finishing... |
| grex | but before a last example |
| grex | have a look at http://gsyc.escet.urjc.es/~grex/apache/todas.html |
| grex | and you'll find a (social) network analysis that we have performed on the Apache project |
| grex | nodes in this network analysis are the CVS modules I've been talking about |
| grex | some lines ago |
| grex | nodes (modules) are connected if they have at least a developer in common |
| grex | if you do this, then you have something like this: |
| grex | http://gsyc.escet.urjc.es/~grex/apache/apache-total-feb04.jpg |
| grex | which is a (big) mess |
| grex | where you almost cannot see anything about the (social) structure of the project |
| grex | so we have used an algorithm that looks for structure in such a network |
| grex | and get a picture like this: |
| grex | http://gsyc.escet.urjc.es/~grex/apache/apache-2004-2-01.sna2.jpeg |
| grex | after the algorithm, modules in the same branch belong somehow |
| grex | together |
| grex | se have coloured the nodes by their family |
| grex | so red ones are the ones that belong to the httpd server |
| grex | blue ones to jakarta |
| grex | xml ones are in green |
| grex | and so on... |
| grex | and as we can see from the picture |
| grex | the structure of the network seems to follow this very good |
| grex | if you want to know more about this |
| grex | have a look at this blog entry |
| grex | http://barba.dat.escet.urjc.es:9080/libresoft/14 |
| grex | where it is explained in more detail. |
| jgb | on, and this is all I guess. |
| grex | yes, thank you very much for your attention |
| jgb | If we had to have a conclussion, |
| jgb | it could probably be that this |
| jgb | libre software engineering |
| jgb | is a new filed, |
| jgb | very promising in results, |
| jgb | but which is still slowly starting to be explored... |
| jgb | I gues we can now take some questions... |
| jgb | (if there is still somebody awake ;-) ) |
| felix | muchísimas gracias a ambos por la charla! |
| grex | gracias, felix |
| jgb | A vosotros por estar ahí |
| felix | vamos a dejar que terminen la traducción |
| feistel | felix: puede aplicar el libre softeng a software no necesariamente libre |
| feistel | upsç |
| feistel | jgb: puede aplicar el libre softeng a software no necesariamente libre |
| felix | y... comenzamos con las preguntas en éste canal |
| jgb | feistel, desde luego, |
| jgb | pero teniendo en cuenta que mientras los datos son públicos |
| felix | y luego podemos seguir charlando aquí |
| jgb | en el caso de la ing. del software libre, |
| jgb | no lo suelen ser en el caso del software privativo, |
| trulux | CLA CLAP |
| jgb | por lo que los estudios no son reproducibles, y es difícil |
| jgb | tener información sobre muchos casos, que permita tener evidencias |
| jgb | estaedísticas |
| felix | vamos un fuerte aplauso para nuestros conferenciantes [sin miedo :)] |
| jgb | (gracias por los claps= |
| felix | clap! clap! clap! clap! clap! clap! clap! clap! |
| felix | clap! clap! clap! clap! clap! clap! clap! clap! |
| felix | clap! clap! clap! clap! clap! clap! clap! clap! |
| felix | clap! clap! clap! clap! clap! clap! clap! clap! |
| feistel | el sitio de la Universidad Rey Juan Carlos parece ser bastante bueno |
| feistel | clap clap clap clap clap clap clap clap |
| feistel | clap clap clap clap |
| feistel | clap clap clap clap |
| feistel | clap clap clap clap |
| feistel | clap clap clap clap |
| xtingray | clap! clap! clap! clap! clap! clap! clap! clap! |
| xtingray | clap! clap! clap! clap! clap! clap! clap! clap! |
| xtingray | clap! clap! clap! clap! clap! clap! clap! clap! |
| xtingray | clap! clap! clap! clap! clap! clap! clap! clap! |
| xtingray | clap! clap! clap! clap! clap! clap! clap! clap! |
| xtingray | clap! clap! clap! clap! clap! clap! clap! clap! |
| felix | clap! clap! clap! clap! clap! clap! clap! clap! |
| felix | clap! clap! clap! clap! clap! clap! clap! clap! |
| felix | clap! clap! clap! clap! clap! clap! clap! clap! |
| jgb | (just out of couriosity, |
| jgb | after this talk in English, |
| jgb | is there any native English speaker in this channel?) |
| jgb | (parece que grex está cortado, le transmitiré los aplausos) |
| felix | ya casi termina la traducción en #redes |
| feistel | on libre software engineering == OSSD ? |
| feistel | http://cosst.ieee-occs.org/presentations/COSST2003-Scacchi-BestPractices.pdf |
| damage | clap clap clap clap |
| jgb | OSSD es usualmente "open source software development" |
| jgb | Y sí, es otro nombre para "libre software development". |
| jgb | "libre software engineering" es supuestamente cuando se aplica ingeniería |
| jgb | al asunto... |
| feistel | aja |
| trulux | clap! clap! clap! clap! clap! clap! clap! clap! |
| trulux | clap! clap! clap! clap! clap! clap! clap! clap! |
| trulux | ;D |
| jgb | Ese papel que enlazas es un de los conocidos al respecto. Scacchi es uno de los que trabaja |
| jgb | en este campo. |
| jgb | Pero no estoy muy de acuerdo con todo lo que se pone en él... |
| feistel | por q? tu q piensas? |
| jgb | Creo que nos faltan aún datos para poder ser concluyentes en muchos aspectos |
| jgb | que a veces damos por supuestos. |
| jgb | Por ejemplo, y sin entrar en ese papel en particular, |
| jgb | no sabemos si el software libre es capaz de desarrollar proyectos estables |
| jgb | "gracias a" o "a pesar de" que |
| jgb | no utiliza muchas de las prácticas habituales en la ingeniería del software |
| jgb | "tradicional" |
| trulux | grex, hola |
| jgb | Ah, grex de vuelta. |
| grex | me quedé sin conexión :-/ |
| jgb | Nos han aplaudido y todo ;-) |
| grex | vaya |
| grex | tendré que mirar el log |
| grex | para verlo :-) |
| felix | grex => http://felix.zapto.org/jaime/linux.html |
| felix | log no oficial |
| felix | pero... para los fines prácticos de verse... va bien :) |
| grex | felix, muchas gracias |
| jgb | ¿Bueno, algo más? (que me espera la familia para cenar) :-( |
| feistel | jgb: mas alla de las discrepancias, hoy en dia el approach scacchi es el mas desarrollado y probado? |
| jgb | Mmm. Es difícil de decir. |
| felix | grex: de naa. |
| felix | s/naa/nada/ |
| jgb | en el fondo, es una cuestion de qué consideras por "probado y desarrollado". |
| jgb | si te centras en cosas que podamos mostrar como estadísiticamente válidas, |
| jgb | creo que lo único que podemos decir es que hay pocos datos |
| jgb | salvo quizás para unos pocos proyectos. |
| feistel | ok, hoy una empresa necesita algo de donde agarrarse, algo parecido a un estandar, recomendarias scacchi? |
| feistel | por lo menos hasta que aparezcan mas datos? |
| jgb | No voy a aceptar barco como animal acuático ;-) |
| trulux | jgb, cómo ves el impulso al software libre en españa? crees que aquí existen "mecenas" que ayuden, por lo menos, casi, desinteresadamente? |
| jgb | trulux, no sé a qué te refieres... |
| jgb | ¿A empresas que desarrollen software libre? |
| trulux | jgb, no, a empresas que patrocinen software libre |
| jgb | feistel, de todas formas, como catálogo de prácticas |
| jgb | quizás lo de Scacchi y otros autores te pueda servir. |
| feistel | jgb, que otros autores recomiendas? |
| jgb | Aconsejo que echéis un vistazo a las actas de un workshop que se celebra con el ICSE |
| feistel | URL? |
| jgb | http://opensource.ucc.ie/icse2003/ |
| trulux | jgb, a mi personalmente ma parece que el software libre en España está tomando un doble contexto, por un lado el liberal y por otro el de jugar a ser el más progre |
| jgb | y ahí tienes enlazados también 2002 y 2004. |
| jgb | Pero ten en cuenta que son casi todo opiniones... |
| jgb | con las que se puede estar de acuerdo o no, claro. |
| trulux | por ejemplo con la moda de que cada una de las autonomías se saque su distro |
| jgb | trulux, no sé, yo creo que el software libre |
| jgb | es software libre, y luego cada uno lo puede entender como mejor le venga... |
| jgb | Por ejemplo tiene una lectura "liberal" en el sentido económico, |
| jgb | de introducir más competencia en un mercado que tiene muy poca, |
| jgb | y de proporcionar beneficios tanto para los usuarios como para los productores más competitivos, |
| jgb | pero por otro otra que a veces se asocia más con las visiones "socialistas", |
| jgb | relacionada con el acceso al conocimiento. |
| jgb | Pero en el fondo, creo que la división clásica entre derechas e izquierdas tiene poco que |
| jgb | hacer en lo que se refiere a las nuevas formas de producción de conocimiento... |
| jgb | Son diferentes a lo que existía cuando esa división cristalizó, hace ya más de un siglo, y |
| jgb | aún (que yo sepa) no hay un discurso coherente desde ninguno de los dos "campos" al respecto. |
| jgb | Pero yo qué sé... |
| jgb | Desde luego, se ven intentos, muy loables, yo diría, |
| jgb | de abarcar estas nuevas realidades desde los modelos clásicos |
| jgb | Pero eso seguro que da para otra charla (o para muchas otras ;-) ) |
| jgb | (en cuanto a las autonomías sancando distros, las hay tando de un signo como de otro, al menos por ahora...) |
| trulux | jgb, yo solo se que en hardened debian en ciertas cosas se usará una licencia con restricciones de uso comercial |
| trulux | por el momento |
| jgb | :-( |
| jgb | Es difícil que beneficie al proyecto. |
| jgb | Pero cada cual.... |
| trulux | jgb, aún no hay nada bajo esa licencia |
| trulux | pero está ahí por se acaso |
| trulux | si acaso |
| trulux | ;) |
| jgb | Bueno, ya veremos. El proyecto tiene buena pinta. |
| jgb | En fin, muchas gracias a todos, |
| trulux | jgb, el problema es que cuesta encontrar un buen patrocinador, por ejemplo |
| jgb | me tengo que ir, que me reclaman para la cena... |
| trulux | que me vengan de una empresa pidiendo "accounting info" me suena a , si, claro, si esto no nos sale como esperamos te metemos un embolado |
| jgb | trulux, disculpa que me vaya un poco abruptamente... |
| trulux | jgb, que aproveche ! |
| trulux | jgb, con las horas que son... |
| trulux | menos mal que tu no te alargaste mucho |
| grex | yo también me marcho |
| grex | que tengo que comprar la cena |
| grex | hasta luego |
| damage | viene alguna charla ahora ? |
| trulux | viene la fiesta |
| trulux | ;) |
The Organizing Comittee