KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

Post by Greg Retkowsk » Mon, 03 Nov 1997 04:00:00



Well, its come to this. I hate programming, anytime I have to debug C,
and especialy C++ I get headaches and kick small animals. But to hell
with my sanity, what would it take to do a cleanroom implementation of
QT? I currently have only the binary version of the library and havent
seen any source to it. If anyone has some good pointers on information
or 'the rules' of developing a non-commercial version of commercial
sofware please point me to them. I'll prolly start with GTK as a base.
Specifically, I need to know if I can look at things like A: the header
files, B: The api definitions. I'd also be interested to know if any
other teams are already working on this effort. Ahh, the sacrifices I
make for my operating system.

-- Greg

 
 
 

KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

Post by Conrad Sanders » Tue, 04 Nov 1997 04:00:00



>Well, its come to this. I hate programming, anytime I have to debug C,
>and especialy C++ I get headaches and kick small animals. But to hell
>with my sanity, what would it take to do a cleanroom implementation of
>QT? I currently have only the binary version of the library and havent
>seen any source to it. If anyone has some good pointers on information
>or 'the rules' of developing a non-commercial version of commercial
>sofware please point me to them. I'll prolly start with GTK as a base.

I am not sure if GTK is powerful enough to handle all of what Qt does.

Quote:>Specifically, I need to know if I can look at things like A: the header
>files, B: The api definitions.

To my knowledge you will have to look at those if you want to make a
compataible API.  The only other way to do it would be revere-engineer
the API by looking at Qt example programs, but that's just *ic.

The only "clean room" restriction is that you can't look at the actual
Qt source code.  Header files are ok - they only define what the API is
and the API docs explain what each function does, which you need to know.
A "normal" programmer who would program using Qt would need to look at
those anyway, whether the Qt source code was available or not.

Quote:> I'd also be interested to know if any
>other teams are already working on this effort. Ahh, the sacrifices I
>make for my operating system.

Please contact the FSF (http://www.veryComputer.com/) - they have the Qt-clone
project listed somewhere (not terribly high).  I am not sure if anybody
is working on it, but it would be a good start to put your name and
contact address next to it.

You may also want to contact the KDE development group to see if they
know anybody who's working on it.

 
 
 

KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

Post by Vidar Hokst » Tue, 04 Nov 1997 04:00:00




Quote:> Well, its come to this. I hate programming, anytime I have to debug C,
> and especialy C++ I get headaches and kick small animals. But to hell
> with my sanity, what would it take to do a cleanroom implementation of
> QT? I currently have only the binary version of the library and havent
> seen any source to it. If anyone has some good pointers on information
> or 'the rules' of developing a non-commercial version of commercial
> sofware please point me to them. I'll prolly start with GTK as a base.
> Specifically, I need to know if I can look at things like A: the header
> files, B: The api definitions.

Take a look at <URL:http://www.gnu.org/>. There is a section about writing
free software there, which should contain info on some of the things you
should consider when writing free/GPL'ed software versions of proprietary
programs, such as cleanroom and software patents, copyrights etc.

Especially the GNU coding standards at
<URL:http://www.gnu.org/prep/standards_toc.html> should be well worth a look.

--

  <URL:http://deepthought.ncg.net/>  | <URL:http://www.norconnect.no/>
--
 * BETA of Evil Purple NewsCache. Info/Complaints: See headers.

 
 
 

KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

Post by Vidar Hokst » Tue, 04 Nov 1997 04:00:00




Quote:> Well, its come to this. I hate programming, anytime I have to debug C,
> and especialy C++ I get headaches and kick small animals. But to hell
> with my sanity, what would it take to do a cleanroom implementation of
> QT? I currently have only the binary version of the library and havent
> seen any source to it. If anyone has some good pointers on information
> or 'the rules' of developing a non-commercial version of commercial
> sofware please point me to them. I'll prolly start with GTK as a base.
> Specifically, I need to know if I can look at things like A: the header
> files, B: The api definitions.

Take a look at <URL:http://www.gnu.org/>. There is a section about writing
free software there, which should contain info on some of the things you
should consider when writing free/GPL'ed software versions of proprietary
programs, such as cleanroom and software patents, copyrights etc.

Especially the GNU coding standards at
<URL:http://www.gnu.org/prep/standards_toc.html> should be well worth a look.

--

  <URL:http://deepthought.ncg.net/>  | <URL:http://www.norconnect.no/>
--
 * BETA of Evil Purple NewsCache. Info/Complaints: See headers.

 
 
 

KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

Post by Tim Smi » Tue, 04 Nov 1997 04:00:00



>Please contact the FSF (http://www.fsf.org) - they have the Qt-clone
>project listed somewhere (not terribly high).  I am not sure if anybody

The Qt-clone project is on their "highest priority" list.  See
        http://www.fsf.org/prep/tasks_2.html#SEC2

It's also on the "other projects" list.  See
        http://www.fsf.org/prep/tasks_8.html#SEC8

--Tim Smith

 
 
 

KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

Post by Rajat Dat » Tue, 04 Nov 1997 04:00:00



>Well, its come to this. I hate programming, anytime I have to debug C,
>and especialy C++ I get headaches and kick small animals. But to hell
>with my sanity, what would it take to do a cleanroom implementation of
>QT? I currently have only the binary version of the library and havent
>seen any source to it. If anyone has some good pointers on information
>or 'the rules' of developing a non-commercial version of commercial
>sofware please point me to them. I'll prolly start with GTK as a base.
>Specifically, I need to know if I can look at things like A: the header
>files, B: The api definitions. I'd also be interested to know if any
>other teams are already working on this effort. Ahh, the sacrifices I
>make for my operating system.

>-- Greg

Don't bother.  Much, much better if you would add your help to those
improving GTK.  GTK has quite a way to go yet for completion, in terms
of predictable behavior, stability, and documentation.  It is also
already being used as the basis for a lot of software, so efforts there
would yield a lot of benefit.

Diversity is good for Linux.  The more ideas, the more different ways
there are of doing things, the more different approaches that are attempted,
the more interesting Linux gets.  The insistence on the one true way of
doing anything on Linux, particularly the UI, will make this system as
sterile as the Windows world.  KDE/QT is one approach; let there be
others.

rajat

 
 
 

KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

Post by Greg Retkowsk » Wed, 05 Nov 1997 04:00:00




> >Please contact the FSF (http://www.fsf.org) - they have the Qt-clone
> >project listed somewhere (not terribly high).  I am not sure if anybody

> The Qt-clone project is on their "highest priority" list.  See
>         http://www.fsf.org/prep/tasks_2.html#SEC2

> It's also on the "other projects" list.  See
>         http://www.fsf.org/prep/tasks_8.html#SEC8

> --Tim Smith

  I just tried to check it. It appears FSF's webservers have been 'freed'
of their webserving duties, as the connection closes immediately when I try
to get to their web server. I had simmilar problems with gnome.org, as
their routers had been 'freed' of carrying packets. I'll check it later
when its back up. Thanks for the pointers...

-- Greg

 
 
 

KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

Post by Simon Kinaha » Wed, 05 Nov 1997 04:00:00



> Well, its come to this. I hate programming, anytime I have to debug C,
> and especialy C++ I get headaches and kick small animals. But to hell
> with my sanity, what would it take to do a cleanroom implementation of
> QT? I currently have only the binary version of the library and havent
> seen any source to it. If anyone has some good pointers on information
> or 'the rules' of developing a non-commercial version of commercial
> sofware please point me to them. I'll prolly start with GTK as a base.
> Specifically, I need to know if I can look at things like A: the header
> files, B: The api definitions. I'd also be interested to know if any
> other teams are already working on this effort. Ahh, the sacrifices I
> make for my operating system.

Well I've seen an internal document here specifying what needs to be
done
what the source isn't available (is QT's ?).

Essentially you need three teams of people who are not permitted to have
any contact with one another, except through official channels.

1. The spec team: These guys may know whatever they like about the
'target'
   (QT in this case). There job is to investigate the target in whatever
depth
   they deem necessary (close examination of the docs, and other public
   materials, plus reverse engineering optionally). They deliver a
'clean'
   spec to team 2. This spec may not contain any details at all of any
   intellectual property belonging to the target's owners. It should in
   effect look just like the spec the target was developed from.

2. The review team: Review the spec from team 1 to ensure it is really
clean.
   You need both lawyers and techies here. They are permitted knowledge
of the
   target product, and they feed their changes back to team 1 untill the
spec
   is deemed clean. The spec is passed to team 3 who do the real work
:-)

3. The clean team: These guys must have had no knowledge of or contact
with
   the target product, but they must be able to complete a project in
the
   domain. The biggest stumbling block is that it is hard to get hold of
   people fitting the bill. They receive the spec and implement its
requirements.
   Any queries they have must be passed back to 1 through 2, and the
answers cleaned
   up before they get back to these guys. When they are finished the
result goes
   back to teams 1 and 2, who submit 'clean' requests for changes untill
the
   product is finished.

Oh and scrupulous logs must be kept of everything that happens,
especially
inadvertant communication between teams. The aim of all this fandango is
to be able to present to a court a 'good faith attempt' not to breach
the target companies intellectual property rights.

I can see the main problem being implementing this in the rather more
chaotic world of internet-based free software development.

If you (or anyone else) really wants to go through with this, I would
be happy to join in.

Simon

 
 
 

KDE and QT: OK, I'll bite, whats it take to 'cleanroom' software?

Post by Simon Kinaha » Wed, 05 Nov 1997 04:00:00



> Well, its come to this. I hate programming, anytime I have to debug C,
> and especialy C++ I get headaches and kick small animals. But to hell
> with my sanity, what would it take to do a cleanroom implementation of
> QT? I currently have only the binary version of the library and havent
> seen any source to it. If anyone has some good pointers on information
> or 'the rules' of developing a non-commercial version of commercial
> sofware please point me to them. I'll prolly start with GTK as a base.
> Specifically, I need to know if I can look at things like A: the header
> files, B: The api definitions. I'd also be interested to know if any
> other teams are already working on this effort. Ahh, the sacrifices I
> make for my operating system.

Well I've seen an internal document here specifying what needs to be
,done what the source isn't available (is QT's ?). I suspect the process
for a product with source available
would be similar.

Essentially you need three teams of people who are not permitted to have
any contact with one another, except through official channels.

1. The spec team: These guys may know whatever they like about the
'target' (QT in this case). There job is to investigate the target in
whatever depth they deem necessary (close examination of the docs, and
other public materials, plus reverse engineering optionally). They
deliver a 'clean' spec to team 2. This spec may not contain any details
at all of any intellectual property belonging to the target's owners. It
should in effect look just like the spec the target was developed from.

2. The review team: Review the spec from team 1 to ensure it is really
clean. You need both lawyers and techies here. They are permitted
knowledge of the  target product, and they feed their changes back to
team 1 untill the spec is deemed clean. The spec is passed to team 3 who
do the real work :-)

3. The clean team: These guys must have had no knowledge of or contact
with the target product, but they must be able to complete a project in
the  domain. The biggest stumbling block is that it is hard to get hold
of  people fitting the bill. They receive the spec and implement its
requirements. Any queries they have must be passed back to 1 through 2,
and the answers cleaned up before they get back to these guys. When they
are finished the result goes  back to teams 1 and 2, who submit 'clean'
requests for changes untill the product is finished.

Oh and scrupulous logs must be kept of everything that happens,
especially  inadvertant communication between teams. The aim of all this
fandango is to be able to present to a court a 'good faith attempt' not
to breach the target companies intellectual property rights.

I can see the main problem being implementing this in the rather more
chaotic world of internet-based free software development.

If you (or anyone else) really wants to go through with this, I would be
happy to join in.

Simon

 
 
 

1. X windows set up 'is this OK screen' not ok

Unimpressed with Mandrake 7.0 install script: when it gets to the testing
X windows screen occupation area, there is a big white square covering
most of the screen with an "is this OK?" box with a time out.  Fundamental
flaw:  lets say the box exceeds the screen edges, this would look the same
as an exact match with the screen edges... therefore there needs to be a
scale bar added so one can see if indeed they are at 0 -----50----- 0
[correct], or at 33 ----- 50 ------33 etc. or various other screw ups, use
your imagination to implement.  Scale bar should be two: vert. & horiz..

And, OK, it wasn't OK, it was slightly shifted to the left of center and
there was a 1/2 inch of wasted blackness around the edges [or is that the
new aesthetic style?]... but the script doesn't have any easy adjustment
buttons.
--
www.geocities.com/jidanni  ... fix e-mail address to reply; ?n|
Tel:+886-4-5854780; starting in year 2001: +886-4-25854780

2. telnet problem with linux.

3. RH 4.0 upgrade fails: 'hostname' ok, but 'uname -n' == "(none)"

4. Unlinking Files & Dirs

5. Ok I'll give a little...but just a little...

6. MS-DOS machine on UUCP/Usenet (UULINK)

7. OK, I'll byte

8. HELP SETUP WITH ATAPI/IDE CDROM UNDER LINUX

9. I'll be fired if I don't get it up...

10. KDE Failes to find '__ti6QFrame' in 'ld-elf.so.1' on FreeBSD

11. I'll can't get out of my segment SCO-unix

12. How to switch from 'GNOME' to 'KDE'?

13. I'm sure I'll like it when I learn how...