Re: [CODE4LIB] good and best open source software [quality and community]
On Dec 28, 2009, at 12:51 PM, Jonathan Rochkind wrote: > Quality of code in general: How well-designed is the code architecture, for > maintenance and debugging? > > Developer Community: Is there a developer community around this software, > with multiple people from multiple institutions contributing? Or is it just > one founder maintaining it? These are points well-taken. Thank you. I have added the quality of code aspect to my internal list because it was not there previously. Much of the subsequent discussion of "good and best" software has surrounded community of some kind. I did not overlook this important aspect, but included it in my definition of support. Yet, I will elaborate for myself. Again, thank you. -- Eric Morgan
Re: [CODE4LIB] good and best open source software
Telling people to use what others are using is just simple propaganda to stifle competition +++ >> Respectfully, inviting people to an open discussion is exactly the opposite >> of telling people and propaganda <<
Re: [CODE4LIB] good and best open source software
I feel like I'm being misunderstood. I'm not saying if a lot of people use it it. must be good. I'm saying if there is 1 developer listening to his 1+ users in an open community forum (actual forum, mailing list, chat room, etc) then the product is healthier than the open source product with no community involvement. It still may be crappy software, but I'd be more likely to check it out over the product with no participation. Nicole On Dec 29, 2009 3:38 PM, "Thomas Krichel" wrote: Nicole Engard writes > That's why I added in 'user' to the community. No matter how many people use Apache based web sites, it does not make it Apache software better. Telling people to use what others are using is just simple propaganda to stifle competition. Cheers, Thomas Krichel http://openlib.org/home/krichel ...
Re: [CODE4LIB] good and best open source software
On Tue, 29 Dec 2009, Jonathan Rochkind wrote: I think you may find yourself somewhat in the minority in thinking Apache is bad software. (I certainly have my complaints about it, but in general I find it more robust, flexible, and bug-free than just about any other software I work with). But aside from getting into a war about some particular package: It may be true that in general popular software does not necessarily equal good software -- even popular open source software. And doesn't neccesarily equal the right software solution for your problem. (I could mention some library-sector-origin open source software I think proves that, but I won't, and it would just be my opinion anyways, like yours of Apache). But popular software _does_ mean software that has a much higher chance of continuing to evolve with the times instead of stagnating, getting it's bugs and security flaws fixed in a timely manner, and having a much larger base of question-answering and support available for it (both free and paid). Which is one important criteria for evaluating open source software. But nobody was suggesting it should be the _only_ criteria used for evaluating open source software, or even neccesarily the most important. It depends on your situation. I think that part of the problem here is that software tends to fill a niche, and some of these larger software projects tend to fill the 'enterprise' niche. Now, Apache 2 in many ways *is* easier to configure than Apache 1.3, but the sheer number of configuration options from all of the different modules makes it more difficult to configure than the Netscape/iPlanet/ SunOne product line. (at least to me, other people might not be making the sorts of changes that I deal with). However, there's a lot of power in Apache's configuration ability ... I just wish I didn't have to deal with all of it.* ... but it's like anything -- if I switch to a different server, it might be easier to configure, but then I lose mod_perl support, so it's a trade-off. -Joe * I think I lost a week trying to get some software virtual hosts working correctly, where there'd be a 'default' host, and one that only responded to specific names and had some alternate security options.
Re: [CODE4LIB] good and best open source software
Francis Kayiwa wrote: IMHO good open source software is driven by people with an itch to fix. The community develops and can be cultivated around this itch rather than "world domination". The project _MUST_ well documented [0] ideally actively maintained. The support of this software will mostly be taken care of with good documentation. If your organization has local development capacity, and is willing to use it to meet a need, and is confident they will have the capacity to maintain the software as long as it's needed (which may be short or long-term) -- that's great. (Or if you personally have development capacity, and your organization is hands-off enough to let you get away with it. :) ). And we defintiely do need more library organizations with development capacity that choose to use it on open source start-ups. That is indeed how succesful projects start. (And in a related but different topic, I think succesful software is seldom designed by committee). But if you're an IT staff of one who isn't a programmer, it may or may not make sense to adopt an immature project. That's up to such a person to decide -- and if they aren't taking into account the balance of software maturity and local development capacity, I think they're making a mistake. If such a person does so without realizing the factors and risks involved, then if things don't go well (as I think they often will not), odds are someone will end up blaming 'open source'. This does not do the 'open source' cause any good. Maturity of a product and it's community is ONE of several factors to be considered in evaluating an open source project, and should be balanced against the potential benefit of the product, with local capacities factored in. It's just one of several factors, but it's an important one, and I think it's really a disservice to try to convince people it's not. Jonathan
Re: [CODE4LIB] good and best open source software
I think you may find yourself somewhat in the minority in thinking Apache is bad software. (I certainly have my complaints about it, but in general I find it more robust, flexible, and bug-free than just about any other software I work with). But aside from getting into a war about some particular package: It may be true that in general popular software does not necessarily equal good software -- even popular open source software. And doesn't neccesarily equal the right software solution for your problem. (I could mention some library-sector-origin open source software I think proves that, but I won't, and it would just be my opinion anyways, like yours of Apache). But popular software _does_ mean software that has a much higher chance of continuing to evolve with the times instead of stagnating, getting it's bugs and security flaws fixed in a timely manner, and having a much larger base of question-answering and support available for it (both free and paid). Which is one important criteria for evaluating open source software. But nobody was suggesting it should be the _only_ criteria used for evaluating open source software, or even neccesarily the most important. It depends on your situation. Jonathan Thomas Krichel wrote: Nicole Engard writes That's why I added in 'user' to the community. No matter how many people use Apache based web sites, it does not make it Apache software better. Telling people to use what others are using is just simple propaganda to stifle competition. Cheers, Thomas Krichelhttp://openlib.org/home/krichel http://authorclaim.org/profile/pkr1 skype: thomaskrichel
Re: [CODE4LIB] good and best open source software
On 12/29/09 7:40 AM, Thomas Krichel wrote: Brett Bonfield writes I think Jonathan and Nicole nailed it with community health, I beg to differ. If you requiree a healthy community to start working with a piece of software, how do you want a grassroots project to start? Obviously a small project will start with one or two developers, and it won't grow, until a few people work with it despite the fact that it's a small thing to start with. Requiring an upfront healthy community is particurly problematic is a small community such as digital library work. On the other kind, there is widely adopted software that I got cajoled into maintaining, that consider bad. Apache is one of them. I run maybe 50 virtual servers an a bunch of boxes, I am still puzzled how it works and it's trial and error with each software upgrade, where goes that NameVirtualServer thing into, the constant croaks "server foo has no virtualserver". I'm not a dunce, but Apache makes me feel I am one. When I look at these config files that are half-baked XML, I wonder what weed the guy smoked who invented this. If I could do it allover again, I would do it in lighttpd. Oh well it was not there in 1995 where I started running web servers. Other problematic case: Mailman. I run about 130 mailing lists, over 80 have a non-standard config, I am running every few months into problems with onne of them, despite the fact that I wrote a script to configure all the non-standard lists the same way. I agree with Thomas' assessment above. While I don't have the numbers for this I think just like there are more termites than elephants in the world, so too software programs. You can follow up that analogy with the termites also weigh a lot more than the elephants. ;-) I think most people look at software development by focusing on the elephants and the ecosystem built around them which is frequently flawed or buggered down with the "enterprise" crud that is inevitable with keeping the community happy. (Do you really get a million hits?, you should be so lucky) IMHO good open source software is driven by people with an itch to fix. The community develops and can be cultivated around this itch rather than "world domination". The project _MUST_ well documented [0] ideally actively maintained. The support of this software will mostly be taken care of with good documentation. I think the OP Eric was being too modest but your MyLibrary Software is actually an example of good open source software -unless things have changed since I last tinkered with it. regards, ./fxk [0] How to != Documentation
Re: [CODE4LIB] good and best open source software
Nicole Engard writes > That's why I added in 'user' to the community. No matter how many people use Apache based web sites, it does not make it Apache software better. Telling people to use what others are using is just simple propaganda to stifle competition. Cheers, Thomas Krichelhttp://openlib.org/home/krichel http://authorclaim.org/profile/pkr1 skype: thomaskrichel
Re: [CODE4LIB] good and best open source software
A few lessons learned while monitoring the vuFIND community: Documentation needs to be evolving and accurate. Someone needs to OWN that responsibility and keep documentation up to date (and vuFIND are so lucky to have Demian Katz!). UNIX/man is not the best example for this. Developer community, as we communicate, develop, ponder, annotate is also dynamic. Someone needs to OWN the responsibility of keeping track of RC1, or RC2, or Beta, or release 1.0, to TEST and determine which JIRA issues are those to be tackled, or left out, or, postponed. Support address (for the rainy days when the sys person converted to Budhism or argued with a moving truck) is needed, so maintenance doesn't crush. Even though it sounds elementary, a list of contact admins is so critical for such rainy days, and for convincing library big wigs that paying six-digits to ILS vendors is on its way out. This business model of OpenSource software becomes critical especially when something goes wrong, and preparing in advance (even if it assumes some costs) seems highly desirable. Ya'aqov Ziso -Original Message- From: Code for Libraries on behalf of Eric Lease Morgan Sent: Mon 12/28/2009 12:43 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: [CODE4LIB] good and best open source software What qualities and characteristics make for a "good" piece of open source software? And once that question is answered, then what pieces of library-related open source software can be considered "best"? I do not believe there is any single, most important characteristic of open source software that qualifies it to be denoted as "best". Instead, a number of characteristics need to be considered. For example, a program might do one thing and do it well, but if it is bear to install then that counts against it. Similarly, some software might work wonders but it is built on a proprietary infrastructure such as a closed source compiler. Can that software really be considered "open"? For my own education and cogitation, I have begun to list questions to help me address what I think is the "best" library-related open source software. [1] Your comments would be greatly appreciated. I have listed the questions here in (more or less) personal priority order: * Does the software work as advertised? * To what degree is the software supported? * Is the documentation thorough? * What are the licence terms? * To what degree is the software easy to install? * To what degree is the software implemented using the "standard" LAMP stack? * Is the distribution in question an application/system or a library/module? * To what degree does the software satisfy some sort of real library need? What sorts of things have I left out? Is there anything here that can be measurable or is everything left to subjective judgement? Just as importantly, can we as a community answer these questions in light of distributions to come up with the "best" of class? 'More questions than answers. [1] There are elaborations on the questions in a blog posting. See: http://tinyurl.com/ybk2bef -- Eric Lease Morgan
Re: [CODE4LIB] good and best open source software
On Tue, 29 Dec 2009, Thomas Krichel wrote: Requiring an upfront healthy community is particurly problematic is a small community such as digital library work. On the other kind, there is widely adopted software that I got cajoled into maintaining, that consider bad. Apache is one of them. I run maybe 50 virtual servers an a bunch of boxes, I am still puzzled how it works and it's trial and error with each software upgrade, where goes that NameVirtualServer thing into, the constant croaks "server foo has no virtualserver". I'm not a dunce, but Apache makes me feel I am one. When I look at these config files that are half-baked XML, I wonder what weed the guy smoked who invented this. If I could do it allover again, I would do it in lighttpd. Oh well it was not there in 1995 where I started running web servers. Other problematic case: Mailman. I run about 130 mailing lists, over 80 have a non-standard config, I am running every few months into problems with onne of them, despite the fact that I wrote a script to configure all the non-standard lists the same way. Even if they don't have specific forums, if they're more widely adopted software, you might have luck with well populated, but more generic forums: programming related: http://stackoverflow.com/ server administration: http://serverfault.com/ other IT stuff: http://superuser.com/ I admit that I haven't specifically asked any questions about Apache or Mailman, though. -Joe
Re: [CODE4LIB] good and best open source software
Something I tried to write about in my article in LJ, is, yes, every project needs to start somewhere. But you need to evaluate your own capacity, and compare that against the maturity of the software and the community. You need more internal capacity to deal with immature software with an immature community. Now, if there weren't those who had that that willingness to take risks, had that capacity, and were willing to apply it to a new project -- then we'd never get mature projects, indeed. But it's not necessarily the right decision for everyone. It requires capacity and a willingness to be a developer, not just an end user. Which is of course a spectrum, and ideally no user of collaborative open source is 'just' an end user, but some are more towards the 'developer' end than others. You need to evaluate your own capacity and measure it against where the project you are considering is at. No individual software is right or wrong for everyone universally, it depends on the context. I tried to write about some of this stuff at more length (among other issues) in this article: http://www.libraryjournal.com/article/CA6611591.html Jonathan Thomas Krichel wrote: Brett Bonfield writes I think Jonathan and Nicole nailed it with community health, I beg to differ. If you requiree a healthy community to start working with a piece of software, how do you want a grassroots project to start? Obviously a small project will start with one or two developers, and it won't grow, until a few people work with it despite the fact that it's a small thing to start with. Requiring an upfront healthy community is particurly problematic is a small community such as digital library work. On the other kind, there is widely adopted software that I got cajoled into maintaining, that consider bad. Apache is one of them. I run maybe 50 virtual servers an a bunch of boxes, I am still puzzled how it works and it's trial and error with each software upgrade, where goes that NameVirtualServer thing into, the constant croaks "server foo has no virtualserver". I'm not a dunce, but Apache makes me feel I am one. When I look at these config files that are half-baked XML, I wonder what weed the guy smoked who invented this. If I could do it allover again, I would do it in lighttpd. Oh well it was not there in 1995 where I started running web servers. Other problematic case: Mailman. I run about 130 mailing lists, over 80 have a non-standard config, I am running every few months into problems with onne of them, despite the fact that I wrote a script to configure all the non-standard lists the same way. Cheers, Thomas Krichelhttp://openlib.org/home/krichel http://authorclaim.org/profile/pkr1 skype: thomaskrichel
Re: [CODE4LIB] good and best open source software
Thomas, That's why I added in 'user' to the community. If there is an active communication medium with one or two developers communicating with the user community than there is health there. So I always say to look at the developer & user community to make sure it's active as one of the gauges of the health of an open source product. Nicole On Tue, Dec 29, 2009 at 8:40 AM, Thomas Krichel wrote: > Brett Bonfield writes > >> I think Jonathan and Nicole nailed it with community health, > > I beg to differ. > > If you requiree a healthy community to start working with a piece of > software, how do you want a grassroots project to start? Obviously a > small project will start with one or two developers, and it won't > grow, until a few people work with it despite the fact that it's a > small thing to start with. > > Requiring an upfront healthy community is particurly problematic is > a small community such as digital library work. > > On the other kind, there is widely adopted software that I got > cajoled into maintaining, that consider bad. Apache is one of > them. I run maybe 50 virtual servers an a bunch of boxes, I am still > puzzled how it works and it's trial and error with each software > upgrade, where goes that NameVirtualServer thing into, the constant > croaks "server foo has no virtualserver". I'm not a dunce, but > Apache makes me feel I am one. When I look at these config files > that are half-baked XML, I wonder what weed the guy smoked who > invented this. > > If I could do it allover again, I would do it in lighttpd. Oh well > it was not there in 1995 where I started running web servers. > > Other problematic case: Mailman. I run about 130 mailing lists, over > 80 have a non-standard config, I am running every few months into > problems with onne of them, despite the fact that I wrote a script > to configure all the non-standard lists the same way. > > > Cheers, > > Thomas Krichel http://openlib.org/home/krichel > http://authorclaim.org/profile/pkr1 > skype: thomaskrichel >
Re: [CODE4LIB] good and best open source software
Brett Bonfield writes > I think Jonathan and Nicole nailed it with community health, I beg to differ. If you requiree a healthy community to start working with a piece of software, how do you want a grassroots project to start? Obviously a small project will start with one or two developers, and it won't grow, until a few people work with it despite the fact that it's a small thing to start with. Requiring an upfront healthy community is particurly problematic is a small community such as digital library work. On the other kind, there is widely adopted software that I got cajoled into maintaining, that consider bad. Apache is one of them. I run maybe 50 virtual servers an a bunch of boxes, I am still puzzled how it works and it's trial and error with each software upgrade, where goes that NameVirtualServer thing into, the constant croaks "server foo has no virtualserver". I'm not a dunce, but Apache makes me feel I am one. When I look at these config files that are half-baked XML, I wonder what weed the guy smoked who invented this. If I could do it allover again, I would do it in lighttpd. Oh well it was not there in 1995 where I started running web servers. Other problematic case: Mailman. I run about 130 mailing lists, over 80 have a non-standard config, I am running every few months into problems with onne of them, despite the fact that I wrote a script to configure all the non-standard lists the same way. Cheers, Thomas Krichelhttp://openlib.org/home/krichel http://authorclaim.org/profile/pkr1 skype: thomaskrichel
Re: [CODE4LIB] good and best open source software
While I think the author draws to strong of a line between Open Source and Closed Source, there is a good book about evaluating Open source software by Bernard Golden called "Succeeding with open source" [1]. Edward [1] http://www.worldcat.org/oclc/55124574 Brett Bonfield wrote: I really like this topic, and I like how you're thinking about it. I tried to ask similar questions in an article I published in July: http://inthelibrarywiththeleadpipe.org/2009/w-e-b-s-i-t-e-find-out-what-it-means-to-me/ I think Jonathan and Nicole nailed it with community health, though this leads to an additional consideration that I think is more nuanced than the application/system vs library/module distinction. Scriblio and SOPAC are built on top of very healthy (from a developer community perspective) software that has been created with moderately technical end-users in mind. This also gets back to Jonathan's very good generalization of your point about LAMP: "What are its requirements and level of difficulty for deployment?" When the first few steps are as comparatively easy for non-developers as a "Five Minute WordPress Install," I think that has to count for something. Brett Bonfield On Mon, Dec 28, 2009 at 2:21 PM, Nicole Engard wrote: I'm with Jonathan on the community health, one of the things I stress when teaching my open source classes is that the developer and user community is essential to the success and life of the product. Nicole C. Engard On Mon, Dec 28, 2009 at 12:51 PM, Jonathan Rochkind wrote: Quality of code in general: How well-designed is the code architecture, for maintenance and debugging? [This not only matters if you plan to do in-house development with it, but matters for predicting how likely the product is to stay 'alive' and continue to evolve with the times, instead of you just being stuck with exactly the version you first installed forever.] Developer Community: Is there a developer community around this software, with multiple people from multiple institutions contributing? Or is it just one founder maintaining it? [One founder maintaining it _can_ work fine, as long as that founder keeps maintaining it. MarcEdit is a great example. But the more of a community there is, again, the higher the reliability that the software will continue to evolve in the future, even if the founder bows out for some reason. ] A related topic: Do individual institutions do extensive local customization to core code, which does not end up merged back into the 'main' distribution? Again, this effects long-term sustainability of the software. I wrote a bit on judging one aspect of open source in a Library Journal article here: http://www.libraryjournal.com/article/CA6611591.html I also compiled some opinions from me, Bill Dueber, and others, in what 'good code' looks like in open source here: http://wiki.code4lib.org/index.php/Category:Patterns I could also pick nits with some of your criteria, but, hey, if they're important to someone they're important to someone. Some of htem are less important to me (For instance: "Is it deployed on LAMP" I'd generalize to "what are it's requirements and level of difficulty for deployment?" We are quite capable of deploying non-PHP solutions, but that doesn't mean that all non-PHP solutions are equal for ease of deployment either!. ) Eric Lease Morgan wrote: What qualities and characteristics make for a "good" piece of open source software? And once that question is answered, then what pieces of library-related open source software can be considered "best"? I do not believe there is any single, most important characteristic of open source software that qualifies it to be denoted as "best". Instead, a number of characteristics need to be considered. For example, a program might do one thing and do it well, but if it is bear to install then that counts against it. Similarly, some software might work wonders but it is built on a proprietary infrastructure such as a closed source compiler. Can that software really be considered "open"? For my own education and cogitation, I have begun to list questions to help me address what I think is the "best" library-related open source software. [1] Your comments would be greatly appreciated. I have listed the questions here in (more or less) personal priority order: * Does the software work as advertised? * To what degree is the software supported? * Is the documentation thorough? * What are the licence terms? * To what degree is the software easy to install? * To what degree is the software implemented using the "standard" LAMP stack? * Is the distribution in question an application/system or a library/module? * To what degree does the software satisfy some sort of real library need? What sorts of things have I left out? Is there anything here that can be measurable or is everything left to subjective judgement? Just as importantly, can we as a community answer these questio
Re: [CODE4LIB] good and best open source software
I really like this topic, and I like how you're thinking about it. I tried to ask similar questions in an article I published in July: http://inthelibrarywiththeleadpipe.org/2009/w-e-b-s-i-t-e-find-out-what-it-means-to-me/ I think Jonathan and Nicole nailed it with community health, though this leads to an additional consideration that I think is more nuanced than the application/system vs library/module distinction. Scriblio and SOPAC are built on top of very healthy (from a developer community perspective) software that has been created with moderately technical end-users in mind. This also gets back to Jonathan's very good generalization of your point about LAMP: "What are its requirements and level of difficulty for deployment?" When the first few steps are as comparatively easy for non-developers as a "Five Minute WordPress Install," I think that has to count for something. Brett Bonfield On Mon, Dec 28, 2009 at 2:21 PM, Nicole Engard wrote: > I'm with Jonathan on the community health, one of the things I stress > when teaching my open source classes is that the developer and user > community is essential to the success and life of the product. > > Nicole C. Engard > > On Mon, Dec 28, 2009 at 12:51 PM, Jonathan Rochkind wrote: >> Quality of code in general: How well-designed is the code architecture, >> for maintenance and debugging? [This not only matters if you plan to do >> in-house development with it, but matters for predicting how likely the >> product is to stay 'alive' and continue to evolve with the times, instead of >> you just being stuck with exactly the version you first installed forever.] >> >> Developer Community: Is there a developer community around this software, >> with multiple people from multiple institutions contributing? Or is it just >> one founder maintaining it? [One founder maintaining it _can_ work fine, as >> long as that founder keeps maintaining it. MarcEdit is a great example. But >> the more of a community there is, again, the higher the reliability that the >> software will continue to evolve in the future, even if the founder bows out >> for some reason. ] >> >> A related topic: Do individual institutions do extensive local >> customization to core code, which does not end up merged back into the >> 'main' distribution? Again, this effects long-term sustainability of the >> software. >> I wrote a bit on judging one aspect of open source in a Library Journal >> article here: http://www.libraryjournal.com/article/CA6611591.html >> I also compiled some opinions from me, Bill Dueber, and others, in what >> 'good code' looks like in open source here: >> http://wiki.code4lib.org/index.php/Category:Patterns >> >> I could also pick nits with some of your criteria, but, hey, if they're >> important to someone they're important to someone. Some of htem are less >> important to me (For instance: "Is it deployed on LAMP" I'd generalize to >> "what are it's requirements and level of difficulty for deployment?" We are >> quite capable of deploying non-PHP solutions, but that doesn't mean that all >> non-PHP solutions are equal for ease of deployment either!. ) >> >> Eric Lease Morgan wrote: >>> >>> What qualities and characteristics make for a "good" piece of open source >>> software? And once that question is answered, then what pieces of >>> library-related open source software can be considered "best"? >>> >>> I do not believe there is any single, most important characteristic of >>> open source software that qualifies it to be denoted as "best". Instead, a >>> number of characteristics need to be considered. For example, a program >>> might do one thing and do it well, but if it is bear to install then that >>> counts against it. Similarly, some software might work wonders but it is >>> built on a proprietary infrastructure such as a closed source compiler. Can >>> that software really be considered "open"? >>> >>> For my own education and cogitation, I have begun to list questions to >>> help me address what I think is the "best" library-related open source >>> software. [1] Your comments would be greatly appreciated. I have listed the >>> questions here in (more or less) personal priority order: >>> >>> * Does the software work as advertised? >>> * To what degree is the software supported? >>> * Is the documentation thorough? >>> * What are the licence terms? * To what degree is the software easy to >>> install? >>> * To what degree is the software implemented >>> using the "standard" LAMP stack? >>> * Is the distribution in question an >>> application/system or a library/module? >>> * To what degree does the software satisfy some >>> sort of real library need? >>> What sorts of things have I left out? Is there anything here that can be >>> measurable or is everything left to subjective judgement? Just as >>> importantly, can we as a community answer these questions in light of >>> distributions to come up with the "best" of class? >>> >>>
Re: [CODE4LIB] good and best open source software
I'm with Jonathan on the community health, one of the things I stress when teaching my open source classes is that the developer and user community is essential to the success and life of the product. Nicole C. Engard On Mon, Dec 28, 2009 at 12:51 PM, Jonathan Rochkind wrote: > Quality of code in general: How well-designed is the code architecture, > for maintenance and debugging? [This not only matters if you plan to do > in-house development with it, but matters for predicting how likely the > product is to stay 'alive' and continue to evolve with the times, instead of > you just being stuck with exactly the version you first installed forever.] > > Developer Community: Is there a developer community around this software, > with multiple people from multiple institutions contributing? Or is it just > one founder maintaining it? [One founder maintaining it _can_ work fine, as > long as that founder keeps maintaining it. MarcEdit is a great example. But > the more of a community there is, again, the higher the reliability that the > software will continue to evolve in the future, even if the founder bows out > for some reason. ] > > A related topic: Do individual institutions do extensive local > customization to core code, which does not end up merged back into the > 'main' distribution? Again, this effects long-term sustainability of the > software. > I wrote a bit on judging one aspect of open source in a Library Journal > article here: http://www.libraryjournal.com/article/CA6611591.html > I also compiled some opinions from me, Bill Dueber, and others, in what > 'good code' looks like in open source here: > http://wiki.code4lib.org/index.php/Category:Patterns > > I could also pick nits with some of your criteria, but, hey, if they're > important to someone they're important to someone. Some of htem are less > important to me (For instance: "Is it deployed on LAMP" I'd generalize to > "what are it's requirements and level of difficulty for deployment?" We are > quite capable of deploying non-PHP solutions, but that doesn't mean that all > non-PHP solutions are equal for ease of deployment either!. ) > > Eric Lease Morgan wrote: >> >> What qualities and characteristics make for a "good" piece of open source >> software? And once that question is answered, then what pieces of >> library-related open source software can be considered "best"? >> >> I do not believe there is any single, most important characteristic of >> open source software that qualifies it to be denoted as "best". Instead, a >> number of characteristics need to be considered. For example, a program >> might do one thing and do it well, but if it is bear to install then that >> counts against it. Similarly, some software might work wonders but it is >> built on a proprietary infrastructure such as a closed source compiler. Can >> that software really be considered "open"? >> >> For my own education and cogitation, I have begun to list questions to >> help me address what I think is the "best" library-related open source >> software. [1] Your comments would be greatly appreciated. I have listed the >> questions here in (more or less) personal priority order: >> >> * Does the software work as advertised? >> * To what degree is the software supported? >> * Is the documentation thorough? >> * What are the licence terms? * To what degree is the software easy to >> install? >> * To what degree is the software implemented >> using the "standard" LAMP stack? >> * Is the distribution in question an >> application/system or a library/module? >> * To what degree does the software satisfy some >> sort of real library need? >> What sorts of things have I left out? Is there anything here that can be >> measurable or is everything left to subjective judgement? Just as >> importantly, can we as a community answer these questions in light of >> distributions to come up with the "best" of class? >> >> 'More questions than answers. >> >> [1] There are elaborations on the questions in a blog posting. See: >> http://tinyurl.com/ybk2bef >> >> >
Re: [CODE4LIB] good and best open source software
On Mon, 28 Dec 2009, Eric Lease Morgan wrote: For my own education and cogitation, I have begun to list questions to help me address what I think is the "best" library-related open source software. [1] Your comments would be greatly appreciated. I have listed the questions here in (more or less) personal priority order: * Does the software work as advertised? * To what degree is the software supported? * Is the documentation thorough? * What are the licence terms? * To what degree is the software easy to install? * To what degree is the software implemented using the "standard" LAMP stack? * Is the distribution in question an application/system or a library/module? * To what degree does the software satisfy some sort of real library need? What sorts of things have I left out? Is there anything here that can be measurable or is everything left to subjective judgement? Just as importantly, can we as a community answer these questions in light of distributions to come up with the "best" of class? + How often do I have to update it to keep ahead of security exploits? + Does it play well with other software? (eg, does it break under updated libraries and/or does the installer try to force me to update every library on my system to bleeding edge for no good reason?) (aspect #2 might fall under the 'easy to install' item) ... You could also end up with some outdated software that meets all of the requirements, but is based on older standards that might not be relevant today. -Joe
Re: [CODE4LIB] good and best open source software
Quality of code in general: How well-designed is the code architecture, for maintenance and debugging? [This not only matters if you plan to do in-house development with it, but matters for predicting how likely the product is to stay 'alive' and continue to evolve with the times, instead of you just being stuck with exactly the version you first installed forever.] Developer Community: Is there a developer community around this software, with multiple people from multiple institutions contributing? Or is it just one founder maintaining it? [One founder maintaining it _can_ work fine, as long as that founder keeps maintaining it. MarcEdit is a great example. But the more of a community there is, again, the higher the reliability that the software will continue to evolve in the future, even if the founder bows out for some reason. ] A related topic: Do individual institutions do extensive local customization to core code, which does not end up merged back into the 'main' distribution? Again, this effects long-term sustainability of the software. I wrote a bit on judging one aspect of open source in a Library Journal article here: http://www.libraryjournal.com/article/CA6611591.html I also compiled some opinions from me, Bill Dueber, and others, in what 'good code' looks like in open source here: http://wiki.code4lib.org/index.php/Category:Patterns I could also pick nits with some of your criteria, but, hey, if they're important to someone they're important to someone. Some of htem are less important to me (For instance: "Is it deployed on LAMP" I'd generalize to "what are it's requirements and level of difficulty for deployment?" We are quite capable of deploying non-PHP solutions, but that doesn't mean that all non-PHP solutions are equal for ease of deployment either!. ) Eric Lease Morgan wrote: What qualities and characteristics make for a "good" piece of open source software? And once that question is answered, then what pieces of library-related open source software can be considered "best"? I do not believe there is any single, most important characteristic of open source software that qualifies it to be denoted as "best". Instead, a number of characteristics need to be considered. For example, a program might do one thing and do it well, but if it is bear to install then that counts against it. Similarly, some software might work wonders but it is built on a proprietary infrastructure such as a closed source compiler. Can that software really be considered "open"? For my own education and cogitation, I have begun to list questions to help me address what I think is the "best" library-related open source software. [1] Your comments would be greatly appreciated. I have listed the questions here in (more or less) personal priority order: * Does the software work as advertised? * To what degree is the software supported? * Is the documentation thorough? * What are the licence terms? * To what degree is the software easy to install? * To what degree is the software implemented using the "standard" LAMP stack? * Is the distribution in question an application/system or a library/module? * To what degree does the software satisfy some sort of real library need? What sorts of things have I left out? Is there anything here that can be measurable or is everything left to subjective judgement? Just as importantly, can we as a community answer these questions in light of distributions to come up with the "best" of class? 'More questions than answers. [1] There are elaborations on the questions in a blog posting. See: http://tinyurl.com/ybk2bef
[CODE4LIB] good and best open source software
What qualities and characteristics make for a "good" piece of open source software? And once that question is answered, then what pieces of library-related open source software can be considered "best"? I do not believe there is any single, most important characteristic of open source software that qualifies it to be denoted as "best". Instead, a number of characteristics need to be considered. For example, a program might do one thing and do it well, but if it is bear to install then that counts against it. Similarly, some software might work wonders but it is built on a proprietary infrastructure such as a closed source compiler. Can that software really be considered "open"? For my own education and cogitation, I have begun to list questions to help me address what I think is the "best" library-related open source software. [1] Your comments would be greatly appreciated. I have listed the questions here in (more or less) personal priority order: * Does the software work as advertised? * To what degree is the software supported? * Is the documentation thorough? * What are the licence terms? * To what degree is the software easy to install? * To what degree is the software implemented using the "standard" LAMP stack? * Is the distribution in question an application/system or a library/module? * To what degree does the software satisfy some sort of real library need? What sorts of things have I left out? Is there anything here that can be measurable or is everything left to subjective judgement? Just as importantly, can we as a community answer these questions in light of distributions to come up with the "best" of class? 'More questions than answers. [1] There are elaborations on the questions in a blog posting. See: http://tinyurl.com/ybk2bef -- Eric Lease Morgan