Beware the 4.0

General discussion of development ideas and the approaches taken in the 3.x branch of phpBB. The current feature release of phpBB 3 is 3.3/Proteus.
Forum rules
Please do not post support questions regarding installing, updating, or upgrading phpBB 3.3.x. If you need support for phpBB 3.3.x please visit the 3.3.x Support Forum on phpbb.com.

If you have questions regarding writing extensions please post in Extension Writers Discussion to receive proper guidance from our staff and community.
code reader
Registered User
Posts: 653
Joined: Wed Sep 21, 2005 3:01 pm

Beware the 4.0

Post by code reader »

software version number 4.0 has a long and bloody history as a very bad number, at least since the dawn of the PC era.
some of us are old enough to remember the fiasco that was DOS 4.
NT 4 was not *that* bad, but is was a low point in the NT line (not as low as windows ME or vista, but still much lower than NT 3.52 which was rock solid or the spectacular 5.0 aka "xp")

after the spectacular success of DBase 3 and even more spectacular DBase 3+, DBase 4 fostered the demise of Ashton-Tate.
Borland Pascal 4 was a serious dip between the stellar turbo-pascal 3 and the very solid borland pascal 5.

the list goes on and on, but the conclusion stands: "4" is a very bad number as far as software[1] versions are concerned, at least in the personal-computer era.

so you might want to reconsider this version number. i vote for 3.5 - an excellent version number anywhere you look.
(i challenge anyone to find a single stinking 3.5 anywhere. 3.52 is almost the definition of gold - better even than legendary 3.3)


peace. ;) ;) ;)


[1] not just software: pentium 4 was so disappointing that intel decided to change their processor-numbering scheme after it so we never saw pentium 5, and instead we see things like "core-2" or "i-3/5/7/9).
there are some exceptions: IPv4 is what carries the whole internet on its back, so it is as far from failure as one can get. i would say that "4" is probably a pretty good number for *standards*.

igorw
Registered User
Posts: 500
Joined: Thu Jan 04, 2007 11:47 pm

Re: Beware the 4.0

Post by igorw »

Counting to 4 in binary on your hand will result in The Finger.
code reader wrote:i vote for 3.5
This implies a decimal overflow, eg. 3.0.9 -> 3.1.0, and that's not the idea of the versioning system.

User avatar
naderman
Consultant
Posts: 1727
Joined: Sun Jan 11, 2004 2:11 am
Location: Berlin, Germany
Contact:

Re: Beware the 4.0

Post by naderman »

No it doesn't? Anyway 3.5 implies we won't ever reach 3.5 from 3.0 through feature releases :P

Oleg
Posts: 1150
Joined: Tue Feb 23, 2010 2:38 am
Contact:

Re: Beware the 4.0

Post by Oleg »


There was no NT 3.52. Perhaps you were thinking of 3.51.

And NT 5 is Win2k. XP is NT 5.1. For the record, 2k is better than xp.


Anyway, ground-up rewrites are not the easiest thing to pull off and the more complex a piece of software gets, the harder it is to rewrite.

I would suggest figuring out better approaches to incremental evolution such that when 4.0 is released, if ever[*], it is an incremental upgrade from 3.9 or thereabouts. With "increased community involvement", if it does happen, maintaining 3.x and improving 3.y while rewriting everything for 4.0 would be harder still to manage effectively.

[*] Linux kernel apparently stabilized and improved development process so much in 2.6 that there's no sign of 2.8 being needed. But I read this a year or few ago so maybe situation has changed.

code reader
Registered User
Posts: 653
Joined: Wed Sep 21, 2005 3:01 pm

Re: Beware the 4.0

Post by code reader »

[EDIT] someone pointed me (in a completely unrelated discussion - i don't even know if the other person ever heard of phpbb and even if they did, i doubt very much they care one single bit about it) to this very interesting article.
you want to read it.
so i attach it to the head of this post i wrote earlier.
http://www.joelonsoftware.com/articles/ ... 00069.html
[/EDIT]

rewrites do not have to be "ground up".
e.g., if we want to create a data layer between the application and dbal, it can be done in a completely disjoint manner to upgrading the template infrastructure, which can be done completely independent of moving to a hooks/plugins system.

the problem with creating a new system "from the ground up" is exactly that: phpbb is the most successful OS forum system on the market today.
people stay with it not just out of loyalty, but also because of the the technical reasons that make it attractive, as well as the vast array of MODs, translations and styles available.
updating, say, the template system might make a lot of the styles obsolete, but keep the MODs and translations still valid. one hopes that the style designers will bite the bullet and update their styles.
removing the MODing modus operandi and moving to plugins/hooks system will render the MODs obsolete, but will carry forward the styles and translations, and one hopes that most of the MOD creators will bite the bullet and translate their MODs to plugins (or create new ones with similar functionality.

doing it all at once: rendering existing MODs, styles *and* translations all obsolete at one go for a system that is almost completely new and hence not-proven with a whole array of unknown potential issue, one might ask: "why should i? if it's all new, i might just as well go with something completely new *to me*, but which have existed for a while and i feel pretty confidence is working and stable".

in software development, i *always* prefer steady evolution over "intelligent design".
when we moved from 2 to 3 the situation was different, because, even though phpbb2 was vastly successful in the marketplace, the codebase was crap.
phpbb3 codebase might not be the epitome of high quality software engineering, but it's not a piece of crap either. i do not think that completely scrapping it and starting "from the ground up" would be a good decision.

so my vote goes to "revamp one subsystem at a time". even huge changes, such as moving to a framework-based architecture should be as little mixed with *other* changes as possible, release, stabilize, and then start dealing with the *next* subsystem you want revamp. repeat.

so if you want to move to a framework, do not touch dbal (unless the framework actually *replaces* the dbal layer). do not touch templating (again, unless the framework replaces the template). change the style as little as necessary. do not add features.
release.
then focus on the next target (say, a plugin system)
release.
next, do the next target (say, switch to using a data layer)
release.
next, say, do a feature release, integrating or replicating the most sought-after MODs.
release.

we can still do minor features in an infrastructure release, and minor infrastructure improvements in a feature release, but the principle is this:
avoid "ground up" type of changes. anyone who remember the painful experience of 2002-2007fighting to get way-too-overlosed system out the door while the existing user-base constantly gets more frustrated because of what was perceived as stagnation, knows what i'm talking about.
change one thing (or at most, two) at a time.
release early.
release often.


this has little to do with version numbers, of course, it is more about software engineering/managing OS projects philosophy.

peace.

User avatar
MichaelC
Development Team
Development Team
Posts: 889
Joined: Thu Jan 28, 2010 6:29 pm

Re: Beware the 4.0

Post by MichaelC »

I think skipping phpBB 4 althogether and changing the version to phpBB 5. Much bolder, rounder number for such a big re-write seeing as this re-write will be more different from phpBB 3 was to phpBB 2 or from phpBB 2 to phpBB 1 even.
Formerly known as Unknown Bliss
psoTFX wrote: I went with Olympus because as I said to the teams ... "It's been one hell of a hill to climb"
No unsolicited PMs please except for quotes.

Oleg
Posts: 1150
Joined: Tue Feb 23, 2010 2:38 am
Contact:

Re: Beware the 4.0

Post by Oleg »

Let's not forget the winamp 3 fiasco, and winamp 5 (=2+3) that followed it.

Also just noticed: after having 1.0, 1.5, 2.0, 3.0 and 3.5 firefox went from 3.5 to 3.6. Coincidence?

On which note, chrome in fx 3.5 remains just as broken as it was in 3.0. 3.5 overall does not unquestionably suck but chrome in 3.5 sucks big time.

code reader
Registered User
Posts: 653
Joined: Wed Sep 21, 2005 3:01 pm

Re: Beware the 4.0

Post by code reader »

what is winamp?
i guess with thousands of packages and versions floating around, it should not be *that* hard to find a faulty 3 and/or good 4.
i still think that 4 in general sucks.

please don't completely ignore the tongue-in-cheek tone of the first post...

FWIW, i am posting this using chrome, which i use interchangeably with ff (3.6)
and didn't ff have 3.1 at some point also?

(and btw: safari 4 is at least no worse than 3, php4 was the most successful version of php to date, although 5 is vastly better, and same goes to mysql)

User avatar
Highway of Life
Registered User
Posts: 1399
Joined: Tue Feb 08, 2005 10:18 pm
Location: I'd love to change the World, but they won't give me the Source Code
Contact:

Re: Beware the 4.0

Post by Highway of Life »

Safari 4 is a fantastic browser, much faster than Firefox and more compatible with CSS3 standards. (yadda, yadda, don’t go all browser wars on me, I use Chrome mostly, then Firefox, and lastly Safari. ;) )
I think Skype 4.2 is the latest for Windows, Parallels 4 worked just fine (although 5 is the latest), I use and love Final Cut Express 4, it works great. :)
Image

Comkid
Registered User
Posts: 9
Joined: Tue Dec 15, 2009 10:30 am

Re: Beware the 4.0

Post by Comkid »

Chrome 4 is also great :D

Also Adobe's CS4 products are really good and better than the CS3 :D

Post Reply