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