Forum OpenACS Development: Re: Porting Project/Open (Intranet Module) to OpenACS 5.0

Hi,

yes, I know, I'm getting into deep trouble here. So be prepared!!!! 😊

First of all, it's important to emphasize that Project/Open is a _commercial_ project. This is a necessity for me, because the tech sector here in Spain doesn't do very well, and there are no Content & Communtiy clients around here that would pay for my salary. I really envy some of you guys in Boston/Hamburg...

So the development of Project/Open has to follow basicly the rules of commercial software development, which is return of investment. And there are very limited resource to invest as you can imagine. So this criterium tells us to minimize work on the code except it makes a tangible difference for a customer. So introducing objects for example can only be a third priority. First we need to satisfy a few customers here and second we need to get rid of Oracle.

And then I've (personally) a huge doubt whether ERP software (and that's what Project/Open is aiming at) and the "classical" open source development process go together very well. ERP stuff is extremely boring, and no reasonable open source developer would work on it without an urgent necessity. Some sociologists even describe us as hedonistic. On the other hand, companies don't mind to share a part of their benefit if they employ a software that helps them to reduce costs or to earn more money. So I hope I have made a reasonable case why we are employing different priorities with Project/Open.

So Don, does Project/Open really need to become part of "The Community"? I seriously don't know, and it really doesn't matter very much from the ROI point of view. We all owe a lot to Philip and ArsDigita, so I definitely want to give back to the community. But I am actually not that impressed by OpenACS. The software usability is quite poor and it has completely lost the race against PHP.

This is the reason why I am (personally) following the OpenACS from a distance (there are other people somehow involved with Project/Open that have a different opinion). Don, I understand your intention to maintain coherence, but it may not always be helpful for the community. I hope that was a polite reply, wasn't it? Or is there now a "community police" after Patriot Act II has passed? 😊

Lars Pind wrote:
<blockquote> > My understanding is that P/O focuses mostly on "boring"
> functionality such as costs, invoices and other financial
> transactions that are more typical for ERPs then for
> communicaty or collaboration systems, so I don't see any
> duplicated code here.

This is interesting. I was planning on writing some of the
cost/invoicing stuff for our own needs. We won't, obviously,
if you already have this, and are porting it to 5.0.

Are you planning on using/extending logger for the timesheet
features?
</blockquote>

Sorry Lars, I haven't checked the logger yet. Timesheet management is based on Intranet 3.4 code with extensions from Competitiveness for managing budgets.

Actually, we plan to move all cost/timesheet/... stuff into a separate module, because accounting processes are handled quite differently by companies of different business sectors (notably service and production) and between the EU and US. The idea is to saw the seeds for a whole variety of "Cost" modules adapted to each specific purpose (=> vertical solutions). Check http://www.project-open.com/whitepapers/ for more details on the module concept.

Lars Pind wrote:
<blockquote> > I feel that this [commercial] focus conflicts in some areas with
> the general OpenACS philosophy, for example in terms of
> producing pure open-source (we consider proprietary
> "added value modules" for the future) or in terms of being
> more conservative in terms of the architecture used (see
> next paragraph).

Interesting read. Speaking for Collaboraid, we have a pure commercial
focus, looking for the real customer needs as a first priority. However,
we believe that the commercial ends are best achieved through an open
source development model that builds and builds on the network between
developers, users, vendors, and clients. But so long as the legal stuff
is in order, everybody's free to pursue their business objectives the
way they best see fit. I don't think you'll find people opposed to you
writing proprietary software on top, but don't expect unpaid help from
the community to do it. :)
</blockquote>

I truely believe in giving back to the community, and I'm actually checking for new forms on how to do it. Venkatesh has cited me with:

<blockquote> on the other you pose 'certain restrictions' on the re-distribution of
'your' software by third parties for commercial purposes
</blockquote>

I have already mentioned here on OpenACS (last message at https://openacs.org/forums/message-view?message_id=124433) that I'm thinking about a new model to license "added-value" modules using a new Partner License. This license is based on the idea to redirect part of the money that "Implanters" (like Collaboraid) make from services around OSS to the developers of the modules. It's not finished yet, but I've advanced a lot on the legal side. It's going to be similar to the way how artists receive money when radio stations play their songs... 😊

Lars Pind wrote:
<blockquote> > I have the perception that the OpenACS architecture is
> based on the idea that everybody should have access to
> all information, unless it is explicitely forbidden,
> while P/O takes the oposite view, resulting in a
> relatively complex management of user permissions.

OpenACS has a fairly flexible permissions model, which we're still
learning to use properly. To me, this isn't a question of philosophy, as
much as it's a question of meeting customer needs. If we understand how
customers need permissions to work, we can do it.
</blockquote>

There is a difference between a permission model and a concrete implementation/configuration, as there is a difference between the OpenACS toolkit and www.greenpeace.org. It's just a question of time and resource investment. Perhaps "the community" could pitch in and help with adapting all of these f.... 255 pages to the OpenACS permission model... 😊 However, I'm a big fan for XP-type "phases", and I think the objective of phase 1 is to get the system running on OpenACS and Postgres, right? We'll see how many voluntaries are going to pop up to do this _extremely_ boring stuff ...

Lars Pind wrote:
<blockquote> > The management of complex user permissions has lead the
> development of P/O towards "components", instead of
> templates. Juanjo and I had some very interesting
> discussions on this subject, and we haven't come up with
> a final solution yet.

I don't know what components are in this context.
</blockquote>

Well, I've written some PPS about that in the Whitepapers section of the P/O site. I think you'd call it a Portlet or similar. It's basicly just a TCL procedure that generates a piece of HTML.

<blockquote> > I think I can speak in the name of the whole P/O team to
> say that we would be very pleased if we could engage in
> some kind of cooperation. We'll publish the code as soon
> as we have a basic OpenACS version running.

Likeways. I'm certain we share many objectives, including making a
profit. The trick, of course, in distributed development between parties
with fluctuating interests and companies like my own with different
client obligations at different times, is to get to focus on the same
problems at the same time. That's a real challenge.
</blockquote>

I completely agree. I'm really curious how this is going to evolve. Fortunately there is much to win but nothing much to lose. Strange really, normally it's the other way round...

Bests,
Frank