is "fork" a 4-letter word?

Discussion of general topics related to the new version and its place in the world. Don't discuss new features, report bugs, ask for support, et cetera. Don't use this to spam for other boards or attack those boards!
Forum rules
Discussion of general topics related to the new release and its place in the world. Don't discuss new features, report bugs, ask for support, et cetera. Don't use this to spam for other boards or attack those boards!
code reader
Registered User
Posts: 653
Joined: Wed Sep 21, 2005 3:01 pm

is "fork" a 4-letter word?

Post by code reader »

for many years forks have been considered "bad form" in open-source projects.
when BSD was forked (and re-forked and re-re-forked) it almost guaranteed the dominance of linux, by splintering the development efforts.
in the "dark years" of phpbb,, when there were little to no progress on the project (roughly since beginning of 2003 to summer of 2005 when acydburn took over and the development renewed), several people, including some current team members tried to fork out of phpbb. these experiences failed.

these forks come out of frustration of people in the user community due to stagnant projects, or projects that take the wrong (in the eyes of the forkers) direction.

some of those forks fail, and some take over and become more successful than the original project (eg., zen-cart is a fork of oscommerce that was stagnant for even longer than phpbb, smf is a fork of an older board (ubb?) and there are other successful forks.)

we often hear the sentence "phpbb is open source, not open development".
i want to suggest that this true statement maybe should change, and the mechanism to change it are "friendly forks" in contrast with the past's "hostile forks".

what is a friendly fork?
in recent times, there is a new wave of "friendly forks" in open-source projects.
a friendly fork does not carry the stigma that the hostile forks did.
how does it work?
a developer, or a group of developers that don't necessarily belong to the core development team of a project, create a mirror VCS ("version control system") of the original project.
this mirror is kept up-to-date: all the commits to the main project are constantly merged into the mirror.
at the same time, the developer or developers maintaining the fork can create their own changes, modifications, enhancements and re-design and commit it to the fork.
this is done in the open, and anyone in the community can see what's going on, and optionally to participate.
once a specific change/enhancement is complete, it is offered back to the parent project, where the main team can decide what to do with it: they can take it and incorporate it into the project, they can package it as a mod, or they can decline to use it altogether.
the beauty of it is that its all done in the open, anyone in the community can view the fork as well as the original project, and anyone who wishes to can fork again, either from the original project or from the fork itself.
this, imo, is true "open development", and there are systems today which are geared exactly towards this kind of development.

of course, GPL, and the fact that phpbb is distributed under GPL gives anyone the permission to create such a fork, so i'm not asking for permission here. what i want to hear is what the developers and the community think about such an idea?
User avatar
Techie-Micheal
Registered User
Posts: 566
Joined: Sun Oct 14, 2001 12:11 am

Re: is "fork" a 4-letter word?

Post by Techie-Micheal »

Linus has said in the past that all he does these days is going through commits and deciding what should and should not be merged. For a project like phpBB, doing this is in my opinion, going to be more harmful than helpful to the project.
code reader
Registered User
Posts: 653
Joined: Wed Sep 21, 2005 3:01 pm

Re: is "fork" a 4-letter word?

Post by code reader »

Techie-Micheal wrote:Linus has said in the past that all he does these days is going through commits and deciding what should and should not be merged. For a project like phpBB, doing this is in my opinion, going to be more harmful than helpful to the project.
fwiw, linus is talking about dozens of commits a day (naturally, not all accepted). with all due respect, i don't see phpbb getting equal level of interest and participation as linux kernel, at least not until mid-2009.
iow, i don't think the comparison is relevant.

and why, pray tell, will what i suggest be harmful to phpbb? how can any harm come of it? there may be some downside to such a thing, but i can't imagine what this downside would be, and you didn't give me any hint.

i don't want to be argumentative or to start a flame war, but i can't see how saying "X will be more harmful than helpful" without giving any reasoning contributes anything to the discussion.
User avatar
Techie-Micheal
Registered User
Posts: 566
Joined: Sun Oct 14, 2001 12:11 am

Re: is "fork" a 4-letter word?

Post by Techie-Micheal »

code reader wrote:
Techie-Micheal wrote:Linus has said in the past that all he does these days is going through commits and deciding what should and should not be merged. For a project like phpBB, doing this is in my opinion, going to be more harmful than helpful to the project.
fwiw, linus is talking about dozens of commits a day (naturally, not all accepted). with all due respect, i don't see phpbb getting equal level of interest and participation as linux kernel, at least not until mid-2009.
iow, i don't think the comparison is relevant.

and why, pray tell, will what i suggest be harmful to phpbb? how can any harm come of it? there may be some downside to such a thing, but i can't imagine what this downside would be, and you didn't give me any hint.

i don't want to be argumentative or to start a flame war, but i can't see how saying "X will be more harmful than helpful" without giving any reasoning contributes anything to the discussion.
I'm not sure how much more plain I have to make it. If I say that Linus complains about doing nothing but going through commits everyday, and then I say that the same thing would harm phpBB development, what would the logical conclusion be? That doing the same thing would harm phpBB development? Yeah. Any time spent going through 3rd party code instead of coding is going to harm phpBB development. Let's face it, phpBB isn't as big as Linux, so anything that takes time away from development is going to hurt things and things are going to happen much more slowly.
User avatar
DavidMJ
Registered User
Posts: 932
Joined: Thu Jun 16, 2005 1:14 am
Location: Great Neck, NY

Re: is "fork" a 4-letter word?

Post by DavidMJ »

For now, I will just say this much: Nothing stops anybody from submitting a patch.
Freedom from fear
code reader
Registered User
Posts: 653
Joined: Wed Sep 21, 2005 3:01 pm

Re: is "fork" a 4-letter word?

Post by code reader »

Techie-Micheal wrote:If I say that Linus complains about doing nothing but going through commits everyday, and then I say that the same thing would harm phpBB development, what would the logical conclusion be? That doing the same thing would harm phpBB development? Yeah. Any time spent going through 3rd party code instead of coding is going to harm phpBB development.
what you say boils down to: "having more developers is counterproductive, because you have to review someone else code instead of developing".
this logic clearly implies that the most efficient and productive projects have a single developer.
what do you think is the right answer to linus' problem?
is it "ok, stop accepting patches and development from other people"?
what do you think would have been linux state if this was the policy?

do you really believe that phpbb developers are going to be flooded with so much "3rd party code" as you call it (more common term is "community", not "3rd party") to the degree that they won't have time to develop any more?

DavidMJ wrote:For now, I will just say this much: Nothing stops anybody from submitting a patch.
if you read my original post, you'll notice that i mentioned that part of phpbb being gpl, i basically don't need permission to do any of this stuff.
i did not ask for permission. i asked for feedback and input to the idea.

in the past, phpbb toyed with user contribution, which was, imho, a step in the right direction.
unfortunately, not much came of it, at least not much visible to people outside the team.
it is my opinion that at least part of the problem was the fact that these projects were done "in the dark". what i suggest is to conduct such projects in the light, i.e. visible to every one.
i also suggest that these side-developments need not require the blessing of the team to happen.
for example, if you look at the ancient (but still alive) thread back at phpbb.com titled "tweaks for large forums", this kind of discussion, i think, would profit greatly if in addition to the discussion there was a fork where people could post their code in a coherent way instead of as snippets within "

Code: Select all

" tags. if this was the case back then, i do believe that a lot of the enhancements were merged back into upstream, and the community as a whole would profit.
User avatar
DavidMJ
Registered User
Posts: 932
Joined: Thu Jun 16, 2005 1:14 am
Location: Great Neck, NY

Re: is "fork" a 4-letter word?

Post by DavidMJ »

The following represents my opinion and not that of the phpBB development team, nor the phpBB group

What I meant is that I don't exactly see my Inbox nor the bug tracker filled with "here is some code that implements something useful". The best we get are bug fixes that I could have fixed myself. I would obviously be interested if there was any promise to a group of people who are not the phpBB dev team produce really good code. However, I do not see such a group making themselves obviously present. Do you believe that the "if you build it, they will come" mindset applies here? I am not too sure...

The thing we need the most help for are the huge changes that require large amounts of time. These things require known dedication, we cannot assign somebody to go and rewrite the MCP and hope that they do (or in this case, hope somebody else feels like rewritting the MCP) we have to know that it will get done.

There would be no problem for me if there was some independent group that did their own development and offered the changes upstream, that does not effect me so much as hoping somebody does it. Who knows? If they were organized well enough and capable of producing relevant patches, it could mean that maybe our development style is not as good as it could be.
Freedom from fear
User avatar
Techie-Micheal
Registered User
Posts: 566
Joined: Sun Oct 14, 2001 12:11 am

Re: is "fork" a 4-letter word?

Post by Techie-Micheal »

code reader wrote:
Techie-Micheal wrote:If I say that Linus complains about doing nothing but going through commits everyday, and then I say that the same thing would harm phpBB development, what would the logical conclusion be? That doing the same thing would harm phpBB development? Yeah. Any time spent going through 3rd party code instead of coding is going to harm phpBB development.
what you say boils down to: "having more developers is counterproductive, because you have to review someone else code instead of developing".
this logic clearly implies that the most efficient and productive projects have a single developer.
I said nothing of the sort. Instead, how about not putting words in my mouth? And I chose the words 3rd party for a reason. Yes, it is community code. However, it is external to the development team. Ergo, 3rd party. Like a lot of other things, there is something called equilibrium. Nowhere did I say anything about inverse relationships.
LEW21
Registered User
Posts: 128
Joined: Fri Nov 04, 2005 9:27 pm

Re: is "fork" a 4-letter word?

Post by LEW21 »

Currently it's nearly impossible to make a frequently updated phpBB's fork that returns some code upstream, because phpBB uses centralized VCS. It's impossible to copy a branch, do some big changes and return these changes upstream - the patch will be very big, changes not well-documented, and nobody will have time to review it.

But, if phpBB will move to an decentralized VCS (Bzr or Git, I recommend Bzr), branching will be easier. Changes will be divided into revisions in community's feature branches, frequently updated to the current phpBB's main branch state. Everybody will be able to check how is their development going, interested people from phpBB Group will be able to review the changes more frequently and, after that feature stabilizes, to do a quick final review and merge it to phpBB's main branch. phpBB's development will go faster and community will be happy that they can do something for their favorite forum engine.
phpBB3.pl - user-friendly Polish phpBB3 support
User avatar
Techie-Micheal
Registered User
Posts: 566
Joined: Sun Oct 14, 2001 12:11 am

Re: is "fork" a 4-letter word?

Post by Techie-Micheal »

LEW21 wrote:Currently it's nearly impossible to make a frequently updated phpBB's fork that returns some code upstream, because phpBB uses centralized VCS. It's impossible to copy a branch, do some big changes and return these changes upstream - the patch will be very big, changes not well-documented, and nobody will have time to review it.

But, if phpBB will move to an decentralized VCS (Bzr or Git, I recommend Bzr), branching will be easier. Changes will be divided into revisions in community's feature branches, frequently updated to the current phpBB's main branch state. Everybody will be able to check how is their development going, interested people from phpBB Group will be able to review the changes more frequently and, after that feature stabilizes, to do a quick final review and merge it to phpBB's main branch. phpBB's development will go faster and community will be happy that they can do something for their favorite forum engine.
Discussing the technicalities is kinda moot right now. :P Yes, Git and Bzr are interesting, but for the time being at least, phpBB will continue to use the development strategy (and I'm guessing the SCM) that they are currently using.
Post Reply