IV International Conference of Unix at Uninet
  • Presentation
  • Register
  • Program
  • Organizing Comittee
  • Listing of registered people
  • Translators team
Gregorio Robles, Jesús González Barahona.

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

Email UsMore information


© 2004 - www.uninet.edu - Contact Organizing Comittee - Valid XHTML - Valid CSS - Based on a Design by Raul Pérez Justicia