Re: [CODE4LIB] good and best open source software [quality and community]

2009-12-30 Thread Eric Lease Morgan
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

2009-12-29 Thread Thomas Krichel
  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

2009-12-29 Thread Nicole Engard
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 kric...@openlib.org 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

2009-12-29 Thread Jonathan Rochkind
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

2009-12-29 Thread Joe Hourcle

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

2009-12-29 Thread Ziso, Ya'aqov
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

2009-12-29 Thread Thomas Krichel
  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

2009-12-29 Thread Francis Kayiwa

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

2009-12-29 Thread Jonathan Rochkind
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

2009-12-29 Thread Jonathan Rochkind

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

2009-12-29 Thread Joe Hourcle

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

2009-12-29 Thread Nicole Engard
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 kric...@openlib.org 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

2009-12-29 Thread Ziso, Ya'aqov
 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 


[CODE4LIB] good and best open source software

2009-12-28 Thread Eric Lease Morgan
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

2009-12-28 Thread Jonathan Rochkind
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

2009-12-28 Thread Joe Hourcle

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

2009-12-28 Thread Nicole Engard
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 rochk...@jhu.edu 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

2009-12-28 Thread Brett Bonfield
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 neng...@gmail.com 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 rochk...@jhu.edu 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

2009-12-28 Thread Edward M. Corrado
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 neng...@gmail.com 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 rochk...@jhu.edu 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