Let's create a fork of this project

Topics: Developer Forum, Project Management Forum, User Forum
Coordinator
Apr 24, 2008 at 9:34 AM
Hi guys,

As me, you've probably realised that the original author (I think his name is Mike?) is missing in action.

From the discussions, it seems there are a number of people who are willing to contribute to this project, but are unable to commit their changes.

I propose that we create a fork of this project under a different name, and also under the LGPL license and continue our work on that.

How do you feel about this?

I'd like to get a working version of this as soon as possible (It doesn't work nicely on our mainframe).

regards,
Francois
Apr 25, 2008 at 4:56 AM
Edited Apr 25, 2008 at 4:58 AM
I agree. I would like to contribute some of the changes that I have made (like the response sequence fix and the local IP enhancement)
Patrick has a fix for a mem-leak (I think)
I'm not sure what else has been done by others.
(if you would, igitur, would you add a post about the problems that you see with Open3270 and your mainframe?)

Igitur, Are you able/willing to coordinate a fork for this project?
Coordinator
Apr 25, 2008 at 11:37 PM
I'm willing to coordinate a fork, but it would be my first time. I have limited experience with version control, but I say we just do it.

Anybody here with legal expertise? I understand that, under the LGPL, I am allowed to fork this project, as long as I release it under the LGPL again, right?

By "forking", I basically mean creating a new project, copying the source and uploading it to the new project.

Questions:
  • Are we going to use Codeplex, Sourceforge, Google Code?
  • Project name suggestions? Active3270 (as opposed to this one being INactive), Ezto (which in leetspeak is written as 3270)
  • List of users who should have commit access?
  • If Mike wakes up and starts working on Open3270 again, are we going to merge his changes or continue our separate fork? We should make this decision upfront.

Ok, that's all I can think of now. Comments welcome.

Thanks for everyone's interest so far.

regards,
Francois

PS: ClydeCoulter, in other threads there are numerous bug fixes that have been suggested. And my problem with our mainframe is that, after logging on, Open3270 goes into some kind of deadlock (not hanging) with the server. Seems the server and client are both waiting for the other one, but the screen is still blank.
Apr 26, 2008 at 12:26 AM
Francois,

I believe you are right, that as long as it's still released under LGPL, you can fork and modify.

I hope we continue to use CodePlex to host the project, this is where people are used to going to get it (and for my own sake, I have 2 projects here already, but not at the others)

I would hope we name the project in a way that reflects the current project. heh, what about ReOpen3270 :)

As far as coodination of changes, user lists, I think we need some input from others ( wintermute3, any suggestions? ) We may need to determine who made the largest number of changes (debugged), perhaps test it with our own changes in it, post it back up for review, etc.....?

If Mike (original author) wants to incorporate some of his own changes, he can join the new project, or continue with this branch of the code.

PS: igitur, have you tried the "sequence number bug fix" I posted the other day. The server I tested with would not listen to any other packet after it requested a response (ACK) and the sequence number bug ment it would never get the response correctly.
Apr 28, 2008 at 6:53 AM
I'm really keen to hear when this gets 'forked' - i've already found a serious bug (doh!) and really can't wait until everyone gets all their fixes together into a new version.
I suggest using "github" - it seems to be the cool new sourceforge clone.
Anyway let me know if it happens - chris dot hulbert at gmail is my address
Coordinator
Apr 28, 2008 at 6:26 PM
Hi,

I'm on holiday now, but will get the fork going as soon as I'm back. I'm waiting for some comments/suggestions on the forked project name and version control.

Personally, I like something with SVN access, and I'm not keen on this SvnBridge that I have to use to get SVN access to Codeplex. Seems a bit hacky and doesn't support all functionality. The benefit of Codeplex over Sourceforge is that these forums are much better organised and more searchable. github uses git, which I don't really know, and I really like SVN.

Sorry, ClydeCoulter, but were you serious about ReOpen3270? Not really for me.. We need something which creates a definite separate brand.

Please also indicate if you plan to be a regular contributor.

Chris, you can use the checkbox at the bottom of the page to be notified "if it happens".

cheers
Francois
Apr 29, 2008 at 1:56 AM
Igitur,
I'm not familiar with SvnBridge, TortoiseSVN, VisualSVN, Subversion, etc. What is your current setup? Are you using VisualSVN? (49.00 or free for Open Source developers). How many pieces of software must be run on an XP machine to get version control working?

So far, I like codeplex more than other open source sites I have seen or worked-with.

I can contribute some, it would depend on the entire effort that will be made.

This code could really use comments, throughout, as well as just some general formatting to make it easier to read. Documentation has been requested and could be done within the comments (summary/parameter description paragraphs) and then generated using Visual Studio. That, and integrating the bugfixes that people have found.

Then, there are requests for enhancements, such as Printer and File Xfer support. These could be added as plugin's if a plugin/extension architecture were designed and implemented.

I don't know if wintermute3 plans on releasing a GUI for this project or if it private, but a solid interface would be good for people doing that sort of thing. I have heard of a newer interface as an alternative to EHLLAPI which could be implemented called OHIO (Open Host Interface Objects), this is something that could be put in the "possible future works" bucket.

I can participate in the first stage, formatting, comments/documentation, bugfix integration.

I guess the most important question in starting a new project for this is "Will someone always be available to give someone access to the project"? That is, if Mike were here, we could be given access to this project and not need to fork. There may be some who come and go but there always (over time) needs to be someone that can be contacted so others can continue the effort.
Apr 30, 2008 at 3:51 PM
I would like to comment a bit (rattle on?) about the "need" or "lack thereof" for Source Code Code control in a project like this. Everyone, please feel free to comment on my rantings.

First, source code control is only needed when there is more than one person touching a peice of code. There does need to be a way to "diff" a project with it's previous versions in order to determine where something went wrong (if it was a previous enhancement/fix) if a bug is found down the line. There may be other ways to handle this.

I have found that making a project "modular" (object oriented, etc.) helps greatly in handling ehancements. You can look at it like "what do I need to get what I want". There are core modules (classes) that are needed to connect and execute TN3270 screens as a client. This core may very well be a single unit, or it may be broken up into various layers with their interfaces (loose coupling to upper layers). A test suite can be used to verify the layers before being incorporated back into the whole.

Adding enhancements, such as file xfer and printer support, could be done through this layering, where "side by side" (SBS) modules share in a layer, but are not needed to execute the other SBS modules (that is, I don't want/need file xfer and printer support and it works without the modules). Then I can use what I want/need. This, then, makes it very easy for fixes/enhancements to be made by an individual without stepping on others code.

In this case, there is a need to know what modules are in what layers and which are SBS (optional) components. This can be done using the projects and subdirectory structures within Visual Studio.

So, there would need a coordinator group (which we would need one anyway) who would gather code/documents from contributors and test for validity. There would need to be discussions before any changes or enhancements are done. "Why are the enhancements being done", "How will they be done", "Is there a better way" (for fixes or enhancements), "What are the impacts to current dependant layers and/or SBS components", etc.....

These questions are more important than how source code control is done (even though source control is important).

(Okay, now fire away, I'm ready to duck :)
Coordinator
Apr 30, 2008 at 11:56 PM
Edited May 1, 2008 at 12:07 AM
Just a note...

Open3270 seems to be a port of x3270 ( source at http://kent.dl.sourceforge.net/sourceforge/x3270/x3270-3.3.7p3.tgz ), which is written in C. Before we start fixing bugs, we might want to check the original C files to confirm that they are in fact bugs. Obviously it's possible that many bugs were created due to the port, maybe like that seq_number[0] = buf[3]; bug. (Are indexers different in C and C#?).

Anyway, just thought I'd point this out before we go off on a tangent.
May 1, 2008 at 4:25 AM
I didn't realise it was a port of the x3270 - i just had a look at its code, and i believe you're right it is based upon it.
For the record, C# indexers are the same as C and Java.
Here's a thought for you guys: there's a java project that does a similar job to this on sourceforge. May be worth looking at how they structured their code, or even suggest collaborating with them to come up with a sane API.
Also: +1 vote for source control - sorry clyde ;)
May 1, 2008 at 5:08 AM
igitur,
I haven't noticed too many bugs in the code, so far. I agree, we need to gather a list of them and examine each one very well before commiting them to code.
But I have noticed people wanting enhancements and documentation, and the code really does need cleaning up (several lines of old C/C++ code are commented out and lines are indented improperly at times), also, it could use lots of comments as to what it's doing.
Coordinator
May 18, 2008 at 8:51 PM
Edited May 19, 2008 at 8:28 AM
I watched http://www.youtube.com/watch?v=4XpnKHJAok8 and he has a way of convincing people :)

So what do you guys think?  Do we really need a distributed version control system?
Coordinator
Aug 28, 2008 at 6:34 PM
All,

Please see my post at the top level,

regards,

Mike
Coordinator
Jun 23, 2009 at 12:20 PM

I have consolidated all the fixes and feedback in the source code.  Feel free to download the latest version of the source code.

Please give me feedback, especially if I created more bugs!

regards,
Francois