[dev] Horde 5?
Chuck Hagenbuch
chuck at horde.org
Sun Mar 4 21:28:13 UTC 2012
Quoting Michael J Rubinsky <mrubinsk at horde.org>:
>> It is not important if they can live totally on their own or if
>> they have dependencies. The important fact is that if you need one
>> of the libraries you have a tool that allows you to automatically
>> have these dependencies at your fingertips as well.
>>
>>> Developer still needs to *know* all dependencies
>>> somehow and clone all of them on github.
>>
>> As mentioned before this is *not* the case. We would obviously need
>> a tool that is able to deal with the dependencies in an automated
>> fashion. We would not be alone in this - other PHP communities do
>> the same: see
>> http://packagist.org/about-composer
>
> Sure, but Chuck's point is that splitting the repository would lend
> itself to people being able to just click "clone" on github and get
> a working checkout. That is not the case. Of course, it's not really
> the case at the moment either, though with the monolithic repo, at
> least all the tools to do so are already included. Split them, and
> the developer won't be able to say "Hey, there's an Imap library,
> Cool - let me clone it." He would have to figure out that he will
> also need to either clone all of the library's dependencies, or
> would need to know which repo to clone to get the tools to help him
> clone the dependencies. Of course, this could be improved with
> documentation, but that's not the point.
IMO this is overstating things a bit. There's no reason I can't start
with PEAR packages, and then check out individual repos when I want to
poke at the code.
We need tooling either way.
I wonder if the thing to do is to pick one or two packages -
Horde_ActiveSync, Horde_Imap_Client - that are very much useful
outside of Horde, and experiment with splitting them out?
>>> Think Horde_Autoloader,
>>> Horde_Translation, etc. Without these libraries most of the checkedout
>>> code would not be very useful. Or does github supports 3rd
>>> party scripts
>>> for such cases?
>>>
>>> I'm now starting to think that maybe, just maybe, those few
>>> libraries like ActiveSync and Imap_Client could live in both
>>> main current Horde repository and their own separate ones. In the
>>> separate repository they could even have different release timeframes
>>> and different BC policy than that in Horde.
>
>> No, no, no :) I will rather go with a monolithic repository than
>> duplicating the same code in two repos.
>
> +1000
Agree, though we could use git submodules to mitigate some of this.
But I think ultimately these libraries should live only in their own
repos, and we'd need to commit to working with them.
If it goes well, we could either split out more packages, or we could
decide that only things that have confirmed external interest should
be split out - maybe even rename the "framework" dir to Horde_Core",
and treat it as all things that aren't specifically in use outside
Horde.
-chuck
More information about the dev
mailing list