CyberBoard Open Source Project Status Reports

From CyberBoard

Revision as of 15:16, 23 June 2007 by DaleLarson (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

This page is used to communicate the status of the CyberBoard open source port project. It is arranged in reverse chronological order to make keeping track easier.

--DaleLarson 09:28, 23 June 2007 (CDT)

Contents

4 June 2007 Status Report

Subject: CyberBoard FOSS Port Status Report

Hi everybody,

I thought I'd drop a note to update you on the progress of the CB FOSS
(Free Open Source Software) port.

We have a project web site set up to manage the source and process
surrounding the port. We've converted most of the source in a boilerplate
fashion to use the open source, cross platform, wxWidgets library. Of
course everything is busted so now comes the tough part (as I put it to the
folks on the project)...

We need to put Humpty Dumpty back together again.

The second milestone (the first is done: to wit...set up the project
process) is to get CBDesign working well enough to load and save GameBox
files in the same format as used by CB v3.02. 

The third milestone is to fix the UI.

Then it's on to CBPlay.

===========================================================================
I want again put out another call for any developer types who would like to
be a part of this project. If you're not a hard core C/C++ programmer the
Help system needs to be reworked and ultimately expanded. Also, we will be
needing someone to do installer work as we get toward to finish. There are
other smaller programming tasks the don't require heavy Windows/wxWidgets
knowledge so you can learn as you go (but you should have some programming
background).
===========================================================================

Thanks,
Dale

25 May 2007 Status Report

Hi Everyone.

The first milestone is complete. The porting can now begin. The Wiki has
been updated with a lot of new information.

I've added a development process framework. It's not perfect but it's good
enough to get started.

I've added a 5 minute windows/MFC primer to the SoftwareArchitecture page.

I've expanded the tool installation and configuration information.

I've updated the source code to build (but won't link) under Visual Studio
2005. The project now also includes and builds against wxWidgets. Make sure
you set your work area up as suggested in the Wiki. The code is all merged
into the trunk.

I've started adding tickets for work items that need to be done. Most are
unassigned and are wait for people to step up and take hold of them. When
you chose a ticket just assign it to your log-in name.

I've added some initial porting tips.

You'll notice a couple critical tickets that need immediate attention to
make everyone's life easier.

I'll be adding many more Tickets as I analyze the code and try to pare it
down to manageable bite-size chunks. If you see something that's missing...
please add a ticket!

Dale

22 April 2007 Status Report

Subject: wxWidgets is CB's future.

Hi Bill,

>When do you plan to make a final decision on library choice?

Right now. wxWidgets is it.

I've examined, built, and ran a variety of wxWidgets sample apps in VS2003
this morning and it's hard to imagine anything that could come as close to
MFC as this. A few things might be tricky (Tabbed views come to mind) but I
always figured CB wouldn't come through totally free. wxWidget has number
of things that are nicer than MFC as well.	

Dale

16 April 2007 Status Report

Subject: Hi Everyone - Strategy Note

I know most of you but a couple folks are new to me. Implicit 
in this project is some level of trust that the code will be 
kept private until it's ready for public release. We also need 
to avoid the feature creep. The time for feature expansion is 
once the port is completed and the code is public.

-----------------------
My take on this project
-----------------------

Goals of the CyberBoard port:

1) Remove all dependency on Commercial software.
2) Make CB cross-platform.
3) The software must (as a minimum) be able to load files 
   from the last public release of the closed source version.
4) Release the resulting software under GPLv2.

General development philosophy (no doubt changes to come):

1) Source code is to be kept private until public release.
2) Programmers should follow the same coding conventions that 
   the code already follows (i.e., the same as MFC).
3) Frameworks used in software need to be GPLv2 compatible.
4) Avoid feature creep.

Rough general flow of development:

0)  Set up mailing list (DONE :) )
1)  Add GPLv2 references to source code file headers.
2)  Set up source control and check source in. (Dale)
3)  Create a backup strategy for the source control
    repository.
4)  Recruit backup moderator for mailing list (I'm glancing 
    toward you Gary ;) )
5)  Start studying the code with me and others posting Q&A 
    to the mailing list.
6)  Someone needs to collect those Q&A posts into a 
    coherent FAQ/document for later reference.
7)  First port the MFC portions of the software and get running
    under Windows.
8)  Drink some beer.
9)  Next port the graphics handling to remove use of GDI to 
    something more universal.
10) Drink some more beer and perhaps some shots of Vodka.
11) Get Linux port operating.
12) Create installers for the final software.
13) Final clean-up.
14) Public release of code and public opening of the CBDevelopers
    mailing list.
15) Drink tons more beer with much rejoicing!

The hard core programmer types should probably start studying the
code as this will have the greatest effect on progress. Those 
looking to get their feet wet more slowly can help out 
with volunteering for items 1, 3, 4, & 6. Once source control 
is up an running we'll need a backup admin for it.

It goes without saying that the above strategy will evolve 
over time. This should get us rolling until we gain more 
experience.

Thanks everyone!
Dale

P.S. After we get some of the organizational tasks done I'll be
sending out a ZIP of the source code to everyone.
Personal tools