PSC Open Source - Forum - OpenEdge General - Progress Community
 Forum

PSC Open Source

  • Since the subject of "open source" code arose in the OERA forum, I figure it's time for a new thread. I'm putting it here since it's not really an OERA issue, nor does it fit in any other (current) category.

    My biggest issue with POSSE wasn't with how "monolithic" the code base was, as much as it was that various aspects of the initiative raised the bar to participation higher than I was willing to climb.

    On a more current note, I've written other tools and submitted them to code share, but that area is in severe need of organization - it currently looks like a list of files and that's about it.

    My thoughts on "open sourcing" the Eclipse plug-in or other PSC related code, I'd say write it, put it out there somewhere, and see what happens. If it takes off - great. If not, then what's the downside?

  • nor does it fit in any other (current) category.

    Well, given that the focus was plugins for Eclipse, I might have put it in the OpenEdge Architect and Eclipse forum. I think the potential is broader than that, but that seems like a good place to focus initially.

    My biggest issue with POSSE wasn't with how "monolithic" the code base

    was, as much as it was that various aspects of the initiative raised the bar

    to participation higher than I was willing to climb.

    So, might you help out with a "we shouldn't do X" list?

    Would you have any interest in a more interactive form of open sourcing your own code? I.e., something where other people might make improvements and where there might be a forum for questions and suggestions? Something structured enough that someone could tell whether or not they have the current version?

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

  • So, might you help out with a "we shouldn't do X" list?

    I prefer to focus on "approach X causes problems Y, which can be resolved by doing Z." I don't believe in grumbling if I don't have some idea of a way to solve the problem.

    Would you have any interest in a more interactive form of open sourcing your own code? I.e., something where other people might make improvements and where there might be a forum for questions and suggestions?

    Sure.

    Something structured enough that someone could tell whether or not they have the current version?

    Absolutely.

  • I don't believe in grumbling if I don't have some idea of a way to solve the

    problem.

    OK, so grumble constructively!

    Even if one is sure how to solve the problem, I do think there is some value in identifying what the problem was, so that one can at least try to think how it might be avoided in the future. Similarly, I think there is a value in identifying positive features from this and other experiences which one might want to be sure to include.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

  • OK, so grumble constructively!

    aye aye - grumbling constructively...

    • Version control. I could get a copy of WinCVS, and download the code base. I never could figure out how to "check things out" or any of the other things one needs to do. A single document w/a step-by-step instruction on how to do various things in the process would've solved that.

    • Forums - As I recall, outside of the Dynamics forums the POSSE forums of the time were completely dead. I know that at least one version of the forums was spammed by adult advertising, which was never removed. Questions / posts to such forums should never go more than 24 hrs w/out some kind of useful response.

    Here on PSDN things have been pretty good, but I do have some outstanding threads where I was discussing something with a PSC employee - and then they stopped following up, even though they've posted to other subsequent threads. That kind of behavior wasn't good on POSSE, doesn't belong here, and shouldn't be part of any future open-source effort.

    • Oversight / governance: PSC retained control over what got into the code. I don't know if any outside submissions were ever actually accepted or not - my impression is that such was not the case.

    If the community is to participate in writing the code, then they also need to have some kind of representation in terms of what goes into the core product.

    There also needs to be a place for non-core code to go.

    • Funding / sponsorship: Currently there's not much monetary incentive to write and publish open source ABL code. PSC could sponsor developers with sufficient ability to write good open-source ABL code to do so. That could provide some initial momentum to help get things going.

    • Organization / Documentation: No matter how useful the code is, if it can't be found, it's not going to get used. If it can't be figured out - it's not as likely to get modified and updated.

    As an example, I'd love to redo the schema / db managment code. Unfortunately, the current code is based on some seriously old coding techniques dating back to when the tools were originally written. In order to modify it to get the functionality I'm thinking of almost certainly means a re-write. In that case, the code itself is an impediment to any easy open-source effort.

    • Resources - One story I read about an open-source effort at Sun was they had 2 project managers dedicated to the effort. Perhaps PSC could consider something similar?

    Basically, an open-source effort need to make things as easy as possible for people to participate in. There also needs to be a sufficient base of code with a high enough value to attract interest and participants.

    Currently that's not the case. That needs to change.

  • See, doesn't that feel better!

    Having not tried to do much of anything with POSSE at the time, let me ask a couple of questions.

    For version control, I'm going to guess that there are two rather different needs. One is for the non-contributer to get/find the latest version or possibly an earlier version if there is some dependency issue. The other is for an active contributor who want to take the latest version and do something to it which can then be submitted as a potential change. Right?

    Forums I would guess is just a matter of whether or not there is an active community. If no one is interested or paying attention, then no traffic. I suppose the way to have interest is to present interesting things.

    Governance is a potential problem, of course. I would think that, if the sharing was about things not destined to be included in product, this would be easier. It would also be easier if there was a subdivision of responsibility, i.e., you are in charge of your stuff, unless you invite someone else to help you be in charge of it. Not someone deciding what is in and out over the whole site.

    I wouldn't hold your breath on funding. As much as I would like to see PSC spending money, I'm not sure that I would be willing to accept the strings that are likely to go with it ... and I think it is wildly optimisiic that they would fund development by people outside the company.

    One would hope that a real open source effort might help with the documentation. It is all a question of whether people will get interested enough to invest some effort.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

    • Version control - I'd see different contributor classes as:

    a) someone downloading the latest .zip or .tar and updating their application / target area. No need for version control, check in/out.

    Such a person probably wouldn't be changing the code, just using it.

    b) someone who'se found & fixed a bug and is submitting a patch - I'd see that as a .zip file with files relative-pathed in it. This has no real need for version control, check in/out either.

    c) Harder-core developers working on specific projects and doing frequent updates would need check out / check in capabilities.

    • Forums would need sponsors or someone who was willing to watch and respond to people who post there. In the POSSE version, since PSC was sponsoring / running it, it was (should've been?) their responsibility.

    • There's lots of possible governance roles. Since the code was going to be in PSC's product, that they took control in the POSSE initiative wasn't surprising since anything that went out with their product had to meet a certain level of quality.

    For non-PSC "core" code, I'd be happy with "you write it, you run it."

    • As for funding - since I was shooting for the moon, I threw it in since you don't get if you don't ask.

    I would hope they'd support talent wherever they found it, even if it wasn't a "kept" employee. After all, an ABL open source effort could be as much a benefit to them as to their licensee user base. Why not put some $$ to make sure it's done right by the best and brightest?

    • For documentation - Linus ran Linux under the philosophy that there's always someone somewhere who likes to do the various things that need to be done. With something as big as Linux has become, it seems to work. However, I doubt ABL open source will ever reach that level of critical mass - which means it would need some help with the docs and organization.

  • Forums would need sponsors or someone who was willing to watch and

    respond to people who post there.

    For independent contributors, I'd expect the contributor to take this role ... unless, of course, he or she gets bored with it or moves on to other work or leaves ABL or something, then it is a potential orphan. I suspect this is a potential problem with PSC code since they may be unwilling to commit a resource to it. I suspect they are hoping for more of a over-the-transom kind of thing, which would require someone on the outside taking on the role.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com

  • But if the "initial contributor" is PSC?

    Which is pretty well what the case is for all the current 4GL editor, schema management, etc. code.

    I suspect this is a potential problem with PSC code since they may be unwilling to commit a resource to it. I suspect they are hoping for more of a over-the-transom kind of thing, which would require someone on the outside taking on the role.

    That would be a rather unfortunate attitude to have.

  • Well, when you guys get the bit between your teeth there's no stopping you !!

    In response to the, 'where do we discuss this', then it could have stayed in the OE Principles forum, but that's ok, I'm not too hurt. (At some point I think we need to split the forum to make the OE Principles aspect distinct from the OERA, as OE Principles is more than just OERA, but for now we live with what we have).

    Obviously you've raised some great points, not all of which I can answer here and now. Like a lot of people, I too had issues with just getting an environment up and running to use POSSE, WinCVS, Briefcase, etc. In theory, this should be easier within OE Architect as it has a CVS client built in, and in fact this is what we used internally when working on the AutoEdge project, as we had developers split across continents, and it worked very well. The other way I've seen, is people using Eclipse and SubVersion or SubClipse which offers the same ability, which is to download code from a server directly into a project and run it.

    Forums, yes they need to be active, which as Tim states, I think PSDN has been a lot better since the re-launch. Since being given ownership of an area, I know I've been a lot more active, and hopefully that will continue as more areas are given specific owners.

    Oversight and governance is an interesting one. As Niel mentioned, what we'd be talking about here would certainly not be product. Whether something that came out of this process would ever be picked up and put into product is another issue, but lets assume for now that we're not talking product. This, certainly in my mind, makes things a whole lot easier, as there should be no real IP issues, and with the code being publicly available, then anyone should have the ability to modify, improve etc and submit back. Again, when something is submitted, in my mind I hadn't envisaged a whole huge process to then kick in to validate the submission. It would simply be posted 'as-is' which all the caveats that this would imply. It would be up to the developer submitting the code to offer as much supporting doc etc as possible. Talking of doc, one way I've seen recently that worked really well was the use of a Wiki, so maybe this could be a possible way to get some documentation without it being too much of an arduous task.

    Funding & Sponsorship will always be a difficult topic, and is certainly one of the issue that can't be fixed by me alone in this answer All I can say is that it is one of the topics for discussion. The question from me would be, how much time could someone dedicate to an initiative like this, if there was some sponsorship, given no doubt that most people also have real jobs to do?

    Finally resource, well this come down to a discussion of managing this as an initiative, should it become a reality

  • I'm not against open source but theres some things I want to pay for.

    What I mean is that all the clients I've done work for over the years (more then a couple )

    would, probably, tell me "stop wasting my time with those type of questions and just buy the damn thing"

    if I told them I needed to buy some couple of hundred or more dollar util. It would be a non-issue.

    Tim, if you had a util like smtpmail or pdfinclude I would go out of my way to try and incorporate them in my projects and if I'd recommend it, it would get bought.

    Just off the type of my head there are many small'ish, useful utilities that many people could use or even really need. There's just alot of holes in the platform at the moment.

    I mean it would get money circulating and allow people to spend more time on them, we would get better products etc. It does have some good points.

    We've been playing around with open source for a while now, maybe we should give 3rd party developments a try ?

    Another thing is that Progress is a niche and maybe an aging one at that and we don't have the millions and millions of developer in the community.

    As for POSSE, 20/20 hind sight and all that, I think, it was doomed to fail.

    Dynamics and ADM are extremely huge, complex frameworks that haven't catched on almost a decade later and are pretty much at a dead end.

    It seemed to me like they opened up POSSE, dumped this ridiculously complex framework and expected to get a return in no time.

    Maybe if POSSE was allowed to continue other things would have evolved, maybe ?

    Another thing is that all this complicated tools and maybe even the OERA, maybe aren't for everyone.

    I think efforts should be focused on simpler, practical goals that are useful for a wider range. Just my 2 cents.

  • Funding & Sponsorship ... The question from me would be, how much time could someone dedicate to an initiative like this, if there was some sponsorship, given no doubt that most people also have real jobs to do?

    That why God made contractors. You hire them to wave their wand, they do magic, and then they "go away" until summoned forth again.

  • Tim, if you had a util like smtpmail or pdfinclude I would go out of my way to try and incorporate them in my projects and if I'd recommend it, it would get bought.

    That would be one customer.

    Just off the type of my head there are many small'ish, useful utilities that many people could use or even really need. There's just alot of holes in the platform at the moment.

    Such as?

    We've been playing around with open source for a while now, maybe we should give 3rd party developments a try ?

    There are some 3rd party providers out there, but "I" don't hear much from them. Then again, where would I run into a 3rd party software developer outside of PSDN and PEG?

    Having a software "'farmer'smarket" kind of idea could be interesting. The problem with writing commercial software is the amount of work you need to do to market it, and for small tools is there the kind of market base needed to make such an effort worthwhile?

    Now if there was a way for a bunch of small developers to write something and sell it w/out having to deal with the marketing overhead...

  • That would be one customer.

    I'm a contractor. I've used smtpmail and pdfinclude, which are the perfect example of those types of useful utils, in somewhere around 20 customer sites and I don't think paying 200 or 250 dollar for any one of them would be a problem.

    Per site license, not dev license/royalty-free license works best for me and a limited/free dev license so we could play around with them.

    Such as?

    If we're talking about pdfinclude.

    Office has WordProcessML which is also compatible with Open Office (and others), just XML and has many advantages over ActiveX.

    I'd love to see some WordProcessML utils that simplfiy the job, like, forms, graphics, pivot tables etc.

    But there are so many well documented and open source document types out there to choose from today it's just one possibility.

    That's something I could use at any customer site.

    User Interface has always been a sour point with Progress and why wait for late 2007 or 2008.

    If there was an adapter or something alike for ActiveX controls suites like CodeJock it would make our life much easier and it would also be backwards compatible.

    But, I think, such a util would have to include or even based on resizable layouts something like layout managers or something else.

    I think, that along with the Win95 look-and-feel, resizable layouts are the second biggest issue we've been struggling with and I'm very much afraid it won't get the attention it deserves in the New UI.

    Having a software "'farmer'smarket" kind of idea could

    be interesting. The problem with writing commercial

    software is the amount of work you need to do to market

    it, and for small tools is there the kind of market

    base needed to make such an effort worthwhile?

    It's worth a shot. It would atleast make a better excuse to find time to sepnd on them.

    I don't know about advertisements for these types of utils but we're tight knitted community. All I need is a download link and paypal

    I think, service oriented features and complex business logic tools are great but there are many other basic features much more people could use and frankly the only tool I'd like to see is an ABL reporting tool.

    Just my 2 cents

  • Well, when you guys get the bit between your teeth there's no stopping you !!

    Good thing, too!

    I think PSDN has been a lot better since the re-launch.

    Certainly has. I don't know what did it, but there is pretty much daily interesting traffic now and before nothing seemed to ever happen.

    Whether something that came out of this process would ever be picked up

    and put into product is another issue

    It isn't impossible to fork an open source product and make one fork commercial, but it isn't easy either. Of course, there is no reason why PSC can't ship an open source plugin with OEA, either.

    It would simply be posted 'as-is' which all the caveats that this would imply.

    That's a bit wild and wooly for me. These things usually have three tiers of users -- the vast bulk of people just download and don't modify, a small group who might post an update from time to time, and a very small group who are the active ones moving the product forward. Only this latter group needs CVS access. The stuff from the middle group needs review before being incorporated.

    how much time could someone dedicate to an initiative like this, if there was

    some sponsorship, given no doubt that most people also have real jobs to

    do?

    There are at least three different kinds of activity that can use up time. One is the management of the site, especially if the site is hosting multiple projects. Another is handling the questions and such about any given product, which can vary from very, very little to a fair amount of effort depending on the nature of the product and how much it is used. The other is developing the product. That can be heavily front-loaded, often is. Once released, it can either be very little additional work or it can be an on-going major effort. I can think of some candidate products where one could easily spend full time for a year or more.

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice  http://www.cintegrity.com