Forum OpenACS Development: Re: Re: Re: OACS 6 and beyond
My area is XP. My opinion is that if you want to change some code you first provide a test to prove you aren't breaking anything, then you supply a test for the new functionality and then you add your code change.
You run you test and you check it passes. If it does your code stands, if it doesn't you either fix it or back it out.
What you *don't* do is say I've made a change, it works under these circumstances (PG) but doesn't under others (Oracle)so screw it.. I don't want to fix Oracle.
It is *not* the responsibility of the Oracle users to ensure that PG changes are worked into the oracle core. The OpenACS has always been dual database (does this come as a surprise??) and that should have meant any change from any quarter (to the core) satisfies both databases. Anything else is simply unworkable and frankly pretty stupid. I realise its gone on but that does not make it right.
Would you be happy if I made a change in Oracle but didn't reflect that in PS? I suspect not... shall I make some arbitrary core change now in Oracle and then say 'hey, dudes, I've shagged the PG core, so you better fix it?'
All this bullshit about Oracle people maintain Oracle, PG people maintain PG stinks and it always has.
Contributors should be OpenACS contributors. Full Stop. (I refer to those components that are considered central to the OpenACS as a product, individual packages are not the issue)
If it so happens that PG users make more submissions (for whatever reasons) they they have a responsibility for maintaining those changes in Oracle.
I should not be responsible for picking up work because some else couldn't be bothered to do it. I haven't changed the core, I haven't introduced any new functionality and I haven't broken anything. Why then do I have to do half of your work for you?
If you are contributing something to the code base it can be for one of only two reasons:
1) You need the change. Therefore it self-interest and you should apply it to both DBs.
2) You want to make the change i.e. you fancied doing.. same argument applies.
If you didn't need the change anyway (as is the case for me) then what are you bleating about.
The only reason I can see for not maintaining Oracle when you submit a PG change is because your too damn lazy (if it were a question of skills there have always been people on here who would help.)
AFAICT this whole issue is *really* about folks saying 'supporting two databases is more work'.. well of course it is! So is writing quality code, so is fixing bugs, so is documenting... One of ACS's prime features is that it can apply to an enterpise database and a cheap-as-chips database making it accessible to two different groups. That means MORE WORK. perhaps what should be happening is a bit more of the JFDI approach.
I have to work with this kind of lazy-assed, low quality, piss-poor attitude to development everyday. It *really* pisses me off.
It's probably because of those nob-ends that I never have time or energy for anything else... like contributing. You guys who all have soooo much time to contribute must have bloody idyllic careers.
If Don (who I respect a great deal) is having to do all the Oracle maintenance then that is a poor state of affairs. He is basically doing the work that should have been done by the so-called contributors who couldn't be arsed in the first place.
This idea that more contribution = more right to dictate the product structure is absolute shit. I don't contribute cos I simply don't need much change. As of about two years ago the base has done what I needed. I simply do not have time (as a small business man) to piss around with ACS for the sake of it. I'm sorry but that is just a fact of life. Over the last few years I have repeatedly tried to 'sell' ACS into various organisations, but with no success (in fairness its not even the core of what I do). Where they have used it its has been as a test tool, or a minor installation and therefore nothing useful by way of contribution has come of it? But, does that mean I haven't contributed? If I'd landed a big project that fed loads of stuff in, you'd change you're fucking tune then.
Can I also point out that just cos I haven't contributed recently doesn't mean I haven't contributed in the past.. I've been knocking around on and off with the ACS codebase since Ars Digita days..
All this drop 'the Oracle stuff' smells a lot to me like that 'lets re-write it all in Java' shit that finished off ArsDigita. Do I have to remind you that this community was the one that picked up the torch when aD went to the dogs?
I have organised boot camps and attempted to organise some kind of testing effort (which failed because our esteemed contributors were frankly not interested in testing). We even submitted a simple PG based testing package to allow contributors to submit tests to make it easier for others to contribute and retain quality... fat lot of use its been put to..
When I was in a previous (tiny) company, OpenMSG, we tried to pitch in. We had no money, few customers and hardly any time, but we tried to do what we could. I was fighting to pay my fucking rent and *still* trying to add some value. Don't lecture me about contributing or commiting. Frankly I can submit shit code if thats all it takes to be though a 'contributor'.
Do I sound annoyed? Well yes I am, and all this over a bit of software I use only occasionally.. wierd ain't it.
Well, I've been polite over the years, so just this once I consider myself entitled.
If you want to drop Oracle from the core fine. Do so. Why not drop everything that you don't fancy doing. Fuck it, so long as you're ok.
So yes, my vote is lets split the code base.
A smaller community, focussed around Oracle will be more agile, more fleet of foot and more able to make the (obviously infrequent) changes it needs to. To be honest, froma company POV a small community may have a lot of value. Lets face it does the name 'OpenACS' really generate vast incomes? does it hell. Its good tool, which could be preserved.
When we need the odd idea from the PG community we can simply take the flaky rubbish it usually produces and port it. Frankly almost every none core pg-package takes more work than re-building it.
And we can drop that shit name.
And drop that god-awful logo.
And focus on improving an enterpise-level solution.
I can volunteer something. I can volunteer to provide a server and responsibility for maintaining a new community around the oracle version. I will happily take a code cut. Drop that PG stuff and provide a nice clean start point. People can then contribute, or not as they wish. I will not mind either way.
We'll run it along XP principles and provide a better framework into which contribution can be made.
I posted up some time ago that I thought it was time OpenACS stopped being noddy website builder and focussed on serious, enterprise stuff.. well nows the chance. who knows I might make some bloody money from it ;)
And let the good ole PG community be consumed by RoR ;)
Ahhhh.. I feel better for that....
I thank you.
A code base so full of holes you could call it a golf course where when you asked a question or tried to submit a fix they just carried on and ignored you anyway...
You've never had it so good.
The only reason I can see for not maintaining Oracle when you submit a PG change is because your too damn lazy (if it were a question of skills there have always been people on here who would help.)Many of our people no longer HAVE Oracle available to them. So it's not just a matter of "laziness", unless you think that going through Oracle installation hell should be a barrier everyone who wants to contribute to OpenACS should go through.
For the record, OACS Core 5.3 supports Oracle and the core will support oracle up until any announced drop date is reached.
And there's no reason you can't continue to use OACS 5.3 for your commercial sites. If it's working for you now, why won't it work for you tomorrow?
I think my comment appears a little out of context. It is made in light of my opinion that doing the oracle bit was never supposed to be 'optional'.
But, I do understand the practical point you raise.
However, the 'pain' you describe is about a days work. Thats on fedora on an IBM laptop, and I am in no way an oracle expert. How often does this have to be done? Once a year maybe? You only need to get the thing starting to be able to prove some basic SQL code. Its not as if you have to spend a lot of time in maintenance or tuning.
Is that really such a barrier to entry?
It can't be financial either because Oracle is free for development purposes.
If that amount of work is really a barrier to willing contributors then I think you are right. It must surely have to be dropped.
And yes I agree. What we have will continue to work.. it'll just be a case of setting up a smaller, separate community to maintain it I guess.
I'd vote for a process where it was easy to contribute with one, but also that we are organized enough that others can use the other.
We do want OpenACS to be used by a wide audience... and to a large extent each of us only has so many hours in the day and so much energy. It's fun to be part of the community and in an interchange where we help each other out.. and some time people just have to get the bills payed. To some extent, this takes a little more effort from participants.. and that level of extra effort should be reasonable.
I don't believe anyone is suggesting that we'd do anything with OpenACS so that there was a large obstacle to using Oracle. Or that someone else couldn't jump onto the team and volunteer to do that work.
It's just that the current arrangement (meaning Don doing the vast majority when he doesn't need it at all) isn't working.
'..and to a large extent each of us only has so many hours in the day and so much energy'
And herein lies my dilemma also. And always has. We're a small consultancy, not a software house. If I had time to spare there are many other things I have to put higher up the list. Whilst we make use of OpenACS from time to time (and would like to do so more) it isn't the core of what,as XP consultants, we do. :(
So, yes, I accept that I can rant all I like, but, I can't contribute in the way I'd like, so I can't expect anything...
I just want to see this fully debated (and vigorously) before the decision can't be undone.
We support Oracle for oacs core 5.2.3. We will support Oracle for oacs core 5.3. When people break Oracle, we've told them to fucking stop it.
WE ARE TALKING ABOUT A METADECISION TO DECIDE A POINT IN TIME WHEN WE DROP ORACLE SUPPORT.
A fucking YEAR from now and you insult me and the rest of us who make this project work with just about everything short of having a whore for mother and a Brit for a father.
Nice way to try to convince the community to continue Oracle support.
And, I repeat: fork and The Oracle effort will implode. You really think all these people posting up, screaming, will suddenly step forward and maintain, test, and release new features?
HA HA HA! British humour rocks.
Why you wish to take this so personally I don't know. You are not the one ingoring oracle, and I'm sure thats true of others. But *somebody* must be for there to be an issue and for you to be doing the majority of the work.
My frustration was directed at submitters who have not supported oracle sufficiently and who seem to be suggesting that is was someone elses responsibility all along.
Oh and just in case no one picked up on it I meant the core, just the core. I have in no way suggested at ANY point that this applies to application packages. Just the CORE. I did not think this was unreasonable.
But, if you estimate 50% effort for that (and I confess I did not realise the figure was so high) then I can accept that it is simply not practical.
I accept, you are right and I am wrong. I should have stayed out of it, and therefore I hope everyone will have the good sense to dis-regard my inappropriate comments.
Thank you all for you efforts in the past, and my best wishes for the future.
When we talk about a metadecision to decide when we will decide that this will no longer be true, just what do you think this means?
People in this thread are reacting as though we propose to drop Oracle support NOW rather than talking about talking about possibly dropping it a YEAR FROM NOW.
Now ... you really think that forking a project to support Oracle yourselves would be easier than supporting Oracle within the existing structure of the community?
That's a joke. It would be harder, not easier. Since no one is willing to do it today, why would they be willing to do it tomorrow?
Nick's absolutely right in this.
The 50% estimate is for reasonably stable code where little new development is done. Testing takes as much time for Oracle as it does for PG, you can't take shortcuts and assume that something that works under PG will also work under Oracle. Surely none of you are that naive.