Release Schedules and Feedback on Fixes

Robert Brenstein rjb at robelko.com
Sat Dec 16 00:10:07 CST 2006


>Yes this wish is clear.
>But take into account this my reason which have keep me also to avoid this.
>
>1) you say about YOUR app branches. Good. Clear.
>     but you make and support this one app.
>     so on your site exists only few archives:
>
>         1.0  -> 1.1  ->  1.2
>         1.5

I don't don't whether Joakim has one or more products but he is 
certainly only one of many developers affected by this. Ruslan, let 
me say it this way: Valentina is not a desktop application but a tool 
used by developers. This puts an extra burden on you as you need to 
content not only your product development but also our product 
development.

We are not saying this to annoy you. I have used FileMaker and have 
been using MySQL, but Valentina is still my favorite database and I 
would like for it to flourish further. And I truly believe that both 
you and we will benefit from branching on the long term.

>
>2) the same with FileMaker I think, example of Robert.
>     they make SINGLE product with single archive.

Well, FileMaker has actually 4 products in the lineup: Pro, Server, 
Developer, and Mobile, each for Mac and Windows. They used to have 
some of them in a few different languages, but I see that now is only 
English.

>
>With Valentina we have about 15 archives of all products and ADKs in full
>product line. It takes at least 5-6 hours to build all these archives using
>at least 2 computers.
>

But if I am not mistaken, the core program is the same with some 
wrapper for each ADK. More or less. I know that this is a bit more 
complicated. You also must have a series of makefiles that are 
running the product production. Such a project begs for cvs. Such 
projects are what cvs was invented for.

>Total upload now takes about 200 MB.

I presume that 200 Mb is the total size of the downloadable products. 
That is not that much really. Server space is so cheap these days 
that I don't see this as an issue. I pay $8/mo for 6 GB and this is 
not even the best deal around. 6 GB is enough for 30 archives of 200 
MB each. That is 30 branches. How many public releases have we had in 
V2 so far? A simple strategy would be to keep the current public and 
development branches on your main web site and have a link there to 
"older releases" which are kept at some other host which gives you 
lots of storage for little money. You won't even need much bandwidth 
there.

>So when I think about way to keep on site full product line for 2.5,
>Then do releases 2.6 and 2.7, then 3.0
>and be able yet return back and produce 2.5.4 and upload it ...

No, Ruslan, you don't read or fully follow what we are saying. :-(

If 2.7 is the current public release, nobody will expect you to make 
any new builds for 2.5. The beauty of branching is that you will 
continue to develop pretty much just as you do now, but we won't be 
so directly affected by that as we are now. Your release cycles will 
extend, though.


>This looks like too titanic job for such not big team as we do.
>But we will try of course, may be its not so scary and hard :-)

I think it seems more scary and hard than it is in reality, although 
admittedly, the initial changeover will require real effort and 
planning. But look at 130k+  the projects at SorceForge running under 
cvs or subversion. It is not rocket science. Granted almost all 
SourceForge-based projects produce a single product but Valentina 
family is essentially a series of products with just some common 
parts.

Go to SourceForge and read docs E04 and E09 to get an overview.


>---------------  
>We discuss this here, and Ivan says:
>     in ideal - to provide all this, we need yet at least
>
>     * one more developer which do only job - build archives from CVS.
>
>     * second developer-manager do manage only CVS, think and plan
>     branches, bug/features separation into branches,
>     fixes propagation in branches
>
>I just expose our thinks aloud  :-)
>I'd add
>
>     * full time tester-developer, which do only job as get from
>     CVS sources, to MAC and WIN, build tests and run them, as often
>     as possible.
>
>This will almost double requirement for our team :-))

Sorry, but this is all rubbish to say it bluntly. You don't need to 
build archives from CVS. CVS is your archive.  Historical archives, 
which you put into a vault, will be copies of cvs backups or hard 
drives with complete compile configs (hard drives are so cheap these 
days).

Planning branches? They just happen as they have been happening all 
the time. Nothing extra to plan. And certainly no extra person to 
think about them.

Full-time tester is fine but not on account of CVS. CVS does not 
change the way you develop and test, it just changes the handling of 
files in the process and gives you easy means of parallel development.

Propagating fixes will be the task of whoever fixes the bug and 
checks it in. He is the one that can resolve any potential conflicts 
most efficiently and knows when the fix is committed and tested. 
Involving extra person would be waste of resources.

Ruslan, you seem to think that cvs will be something extra to do on 
top of what you do now. In reality, cvs should and will replace 
and/or modify what you do now.

All you need is to setup a decent server for cvs or subversion or 
whatever versioning software you choose, with raid and external 
backup system. One-time setup effort, and then it runs pretty much on 
its own, with ocassional system and cvs/subversion upgrades, of 
course. All your sources are on that server. The storage is very 
efficient because cvs stores diffs. Each developer checks code out 
for working and in when they are done. Checkin's automatically 
document the code changes. It does not matter whether your team 
members sit in the same room or are at different locations. The 
computers used for building actual ADK's just update their local copy 
of files from that server and then run compiling and linking. This 
can probably be also automated.

It seems to me that the biggest effort will be for you and your team 
to adjust to the cvs ways of thinking and functioning and set things 
up to get moving.

Most developer tools, including Xcode, have hooks for working with 
cvs and subversion. There was actually a nice, basic introduction to 
cvs in Oct 2006 issue of MacTech magazine and intro to subversion in 
their Nov 2006 issue. Check them out. If you don't subscribe to 
MacTech, I can scan these articles and send to you. They describe 
both pros and cons so you get a good overview.

Robert


More information about the Valentina-beta mailing list