Links to know aboutMusic The Chiara String Quartet Chiara Quartet (MySpace) Greenwood Music Camp UNL School of Music PHP PEAR Installer Manifesto phpDocumentor PEAR phar docblock PHP_Parser PHP_Parser_DocblockParser PHP_ParserGenerator PHP_LexerGenerator PEAR_PackageFileManager PHP_Archive Games_Chess Blogs Joshua Eichorn Paul M. Jones Davey Shafik Popular EntriesSetting up your own PEAR channel with Chiara_PEAR_Server - the official way
(28) Do you develop a website? It is infinitely better to synchronize live and development sites using the PEAR Installer(25) Using PEAR 1.4.0 to install PEAR packages on a remote host(19) doing the PEAR thing(19) phpDocumentor and __get/__set/__call - give us your ideas (RFC)(17) CategoriesPowered by |
Monday, April 11. 2005doing the PEAR thingTrackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
Good points, well made.
I'd never considered the installer issue but you're dead right. pear.php.org will always be PEAR, leave it up to users to decide if they want to install Joe Podunk's code or not. After all, we're all responsible adults here, aren't we? But let the install be easy either way. Cheers, Jon
see the post to the ml as well.
At first there was phpclasses, where you had to sift thru crap to find a gem. (I've done it, wasted time and effort) The pear offered a solution.. - Ideals of Quality/maintenance etc.. (Well at least it tries..) Think what has happened over the last 3 years with packages proposed and rejected. (Yes sometimes packages are rejected for reasons other than political games..), or packages that have been pulled early on. Alot of these are perfectly good code, but in the opinion (read votes) usually have design flaws (less frequently are they competive packages, that you hightlighted). You managed to pick a couple of distinct instances where packages where rejected, for competitive reasons, and ignore the fact that the majority are pulled or voted down for technical ones. These are the ones that are of concern where channels come in. Who and how do we decide that? "My package got voted out, can you put me on the channels page?" - we dont delete failed proposals, so leaving a channel url in the proposal seems the best way to go here..? Channels offer other project the ability to make installation easy, but should pear be the advertising billboard for them?
All good points, Alan.
There have been many packages that have been rejected because they are crap. And rightfully so! We will get requests like you say "My package got voted out, can you put me on the channels page?" Fortunately, that one is easy: no. Or more helpfully: Yes, if it is obvious that 1) you have a thriving community surrounding your package/s 2) you have support for your own QA and docs 3) you have a fully working channel server 4) your site has been around for many months/years prior to proposing to PEAR I would be surprised if Joe Podunk would both take the minimal time to write a crappy package and the extra effort to set up a channel server. It takes sweat to maintain a community. As for being a billboard, no, PEAR should not. I would like to see more of a comparison to a card catalog. PEAR provides a central place to look for code solutions from sites that a lot of other users have found useful, but you have to scan through the card catalog. This would be very different from the annoying AOL-style popup ads while you were trying to check email. An interesting study would be to see how many rejected packages that were rejected for technical reasons are still around (and I'm not counting phpclasses. I don't even look for code there any longer). How many of these people took the time to set up a sourceforge page, for instance, or to set up their own domain, and to create a community? I would be surprised if a single one of them has done so. I'm betting that this kind of channel just simply won't exist. Channels require (for one thing) a unique domain name, so users have to fork over moola to register one. PEAR could easily exclude channels with a .sourceforge.net suffix, for instance. There are lots of easy ways to weed out the poorly-planned channels that may sprout up, but it may not even be necessary.
I rarely venture into the PEAR realm, but I agree 100% here with Greg. It should not be PEAR's job to promote those other channels, but I don't see a problem with listing them - though there should be critera (like the one you wrote) to which they should adhere before they can be even considered to be listed.
Channels have resurrected my interest in PEAR. I haven't had the time to fully evaluate channels yet, but I am interested in creating a channel for WACT.
I think the PEAR website should just list any channels that people want to submit, dropping any 404s, spam, and allowing some sorting by remote information if possible (# packages offered, date of last package release). Channels can improve the installation interoperability for libraries and support code. The next step for PEAR would be to offer a standard way to package applications and install them with an end user interface. (Installing web application) Now THAT would bring me into the fold.
Jeff, that is exactly the kind of interest I am hoping channels will generate.
As for sorting by remote information, I doubt that will be possible - pear.php.net is overloaded already. Alphabetical sorting will be more likely, or perhaps discovery date sorting. I am well aware of the blog post you refer to. Check out PHP_Archive to see what is starting with all of this. There are some issues that I'm trying to work out, but it is mostly working. The first .phar will be a single-file version of go-pear, that can be used to install PEAR in 1 shot.
Well said. I think even I have underestimated both the problems and potential PEAR has.
Hi Greg !
You know how fully I join to your points... BTW, thanks for the history. Anyway: You will never control who deploys a channel and what this channel delivers. Does Red Hat control the use of rpm ? Some recommendation page on php.net could have only a poor effect on which channel will get the favour of people. e.g. I don't think the Horde get much more audience thru its registration at bottom of packages' list. Nobody consults Red Hat to decide which rpm repos fits h(is|er) needs. No, channels's fame will spread as usual thru the net's synapses. IMHO, best is no recommendation at all. I hope that this emulation will shake off the dust over pear. I've the feeling it's allready started Now, one fear I have, as I former stated. The lists show that some people outer PEAR do want to have the package working when they originally fail. Rarely the patches will be adapted. Because of this "keeping BC" or because the adaptation is done for a peculiar environment. I'm afraid people will use the ease of pear installer's channels to publish their patched packages. Could that not lead to some confusion ? (cf. linux) Anyway, the machine is started now... And if someone furnish an adaptation of package XYZ which works better as the PEAR's one, is it a problem ? This situation allready exists (ADODB, Savant...). Go ahead. Merci !
I agree entirely, and would like to offer a big thanks for all you did for PEAR - without your work, it would not be quite the great tool it is now.
I am not a PEAR developer, but I have been following its progress through Stephan Schmidt's XML package ramblings (we're both on the PHP-Tools team) and more recently through the pear mailinglist. There has been some talk about integrating our patForms package or my patBBCode package into PEAR, but I am still reticent in doing so (although Stephan made a very good job in showing me all the advantages). I see the many advantages of having a package in PEAR, I just don't care for the 'politic dreck' as you called it, and the slightly to outright eliticist attitudes of some. As you said, there is very few high quality code, and I think this is one of the core issues: if a developer's life is easier in keeping his packages out of PEAR, where does PEAR's mission really fit in? Then again PEAR is an open source project, and the people contributing to it all do so in their spare time for free, so I guess this is also about how high we can stake our expectations. I know I stake them very high for myself, but as the saying goes: don't to do others what you do to yourself - or was it the other way round? Regarding the PEAR channels, I think that they are a great tool, but are an advantage and a disadvantage for PEAR at the same time: as a developer, you now have the advantage of using the PEAR infrastructure to distribute your packages without actually having to add them to PEAR (which may keep some very good packages out of PEAR). Ryan pretty much summed it up in a previous comment: PEAR has potential and problems. If there are ways to get rid of the latter, I'm one of the first to help. A lot of PHP's success comes from PEAR, let's keep it up.
Great remarks Greg (and thanks for all the work you've put into PEAR).
Taking a long view, for me the PEAR situation boils down to The Cathedral vs. the Bazaar (just in case: http://www.catb.org/~esr/writings/cathedral-bazaar/). Right now PEAR is trying to be the Cathedral, in the interests of quality (and perhaps reaction to CPAN). I'd dare to submit though that a team of developers can _only_ be in The Cathedral if they're working together in same room _and_ when there's only a few of them. Trying to apply The Cathedral to a large group of developers, communicating purely electronically (and probably never meeting), produces distinctly non-Cathedral results and, among many other things, leads to much time wasted on everyone's behalf (think PEAR goes to prove this). And time is the bottom line, because we've got humans involved here, which The Bazaar recognizes. What you've done with channels is introduce The Bazaar to PEAR and for me that's a giant step forward. I can now set up a PEAR channel and spend me time on development rather than discussing on mailing lists. If users don't like my code, there's no requirement for them to use it. The way the channels work is better than CPAN, IMO. Users are entering a _direct_ relationship (which they have to opt IN to) with the developer publishing the code on the channel (and the developer, to some extent, takes responsibility for dependencies they push onto the user). At a basic level, think it also scales better than CPAN - rather than one giant respository, it's a network of many small respositories. For me the handling of channels by the PEAR group is simple - on the PEAR website there should be a list of channels which is open to _all_ to register on. A little control is required on channel naming (see below) and the PEAR group needs to be prepared to delist channels that "do evil". Registering itself implies providing some contact information which is already an bar to those that will want to abuse it. Otherwise, stick a giant "DISCLAIMER" on that page - "USE AT YOUR OWN RISK" and let the users of the channels "administer" quality (e.g. attach comments to a channel and report abuse to the PEAR group). The core of PEAR can continue to (attempt to) apply the Cathedral model and be a place for code that ends up debian repositories. Meanwhile the channels and the Bazaar can grow "organically". Think some of the real issues for PEAR to consider, re channels, are; - What are the rules on channel "namespaces"? This needs to happen early otherwise people are going ot fight over channel names. Probably smart to have something based on the domain name where the channel is hosted. The implication is the PEAR group should excise a little control as the "channel registration authority" but not attempt to control what get's published via a given channel. At the same time, perhaps the PEAR client needs to take this into account: warn users with "this is a registered / unregistered channel", in particular for dependencies - A PHP4 version of the Channel_Server is badly needed. Sourceforge, in particular, are up to PHP 4.3.10) these days (was 4.1.2 until end of last year!) but it's going to be another few years before they switch to PHP5. - What are the mirroring implications? If my channel package relies on something from your channel which is currently down (or worse - now permanentaly offline), how to handle this? Perhaps I need the ability to re-publish your packages via my channel?
As someone who has published packages via PEAR, am an active member of PEAR (a little less so now I'm working full time) and who is also seeking to use channels, let me impart my view. Or ignore me. Either is fine
Greg, channels are the best thing to hit PEAR since its inception. Period. I think that channels should have to go through a PEPr like system to be accepted in to PEAR. As someone who has invested time and effort into establishing the "Crtx" name (not to mention $9 for crtx.org!) I would be majorly annoyed if someone else took that name. So I think that we need to have some sort of registrar system, where by a user requests the following: 1) Listing on pear.php.net 2) Inclusion into "pear list-channels" (thats right?) 3) An official alias (i.e. horde, crtx, pat) I would, and I'm sure PAT would like to have our channels listed on pear.php.net, and [ego]whilst I can't claim to have met the "many months to a few years" condition, I think that theres enough interest in the code and that I'm well known enough to forego that.[/ego] This means that whilst we should have *guidelines* they should not be rules. If Rasmus suddenly decides to release a channel, are we going to deny him listing because its only been online 2 weeks? - Davey
It would definitely be nice to have entries for all noteworthy projects that offer pear-style packages on pear.php.net. I think it would be a real asset for PEAR - hell, think about being able to search for packages in all registered channels... Yay!
As for the ongoing discussion about how to implement an official channel repository, I think it's useless to go on arguing about it - just implement something and see how it goes. We can go on imagining how it would turn out, we'll never know until we actually try it.
Greg, my name is spelled with a Ž (Thorn) pronounced Th while used in a word.
Seems that many people fail on this As to the channel stuff, think I'll just stay out of that for now But then again, projects that we know are worth it, Pat, Horde and etc should be listed ... Just not too keen on the "everyone can register" idea
Helgi - I know, and I paused after typing "Helgi " and tried to figure out how to both finish the post and find a thorn somewhere on the keyboard. You can see the choice I had to make
That's okey
Many people face that, but can't you type þ into ya entry ? Or does it get fubared and turned into þ or something.
Greg,
it's easier than a cello, believe me Try AltGr+shift+P : Ž „?$ ? QUOTE: For instance, when the Calendar package was proposed by Harry Fuecks, he did some benchmarking and determined that the largest performance hit was from requiring files, so he designed an internal inclusion system that requires minimal files, upping performance to match any functional code you can find. Can you provide any links to more details on this? The system intrigues me, but a Google turns up nothing.
http://marc.theaimsgroup.com/?l=pear-dev&m=106690656016216&w=2
A little control is required on channel naming and the PEAR group needs to be prepared to delist channels that "do evil".
|
Links in this articlePEAR Installer ManifestoCalendar
QuicksearchMy Latest ReleasesTop Exitspear.php.net (406)
www.php.net (107) www.chiaraquartet.net (106) pecl.php.net (103) www.vmware.com (90) Blog Administration |
|||||||||||||||||||||||||||||||||||||||||||||||||