comp.lang.ada
 help / color / mirror / Atom feed
From: anon@att.net
Subject: Re: Open source Ada OS?
Date: Fri, 28 Jan 2011 11:32:28 +0000 (UTC)
Date: 2011-01-28T11:32:28+00:00	[thread overview]
Message-ID: <ihu9g9$dgu$2@news.ett.com.ua> (raw)
In-Reply-To: a96af7c6-1317-4f40-bdd8-3ce2eb385d0c@y16g2000yqd.googlegroups.com

In <a96af7c6-1317-4f40-bdd8-3ce2eb385d0c@y16g2000yqd.googlegroups.com>, Ludovic Brenta <ludovic@ludovic-brenta.org> writes:
>anon wrote on comp.lang.ada:
>> Most open OS that use CVS/SVN/GIT are based on BSD or LINUX or the AT&T
>> old OS system.
>>
>> And before complaining about Ada OSs, remember Linux is a single file
>> and to obtain its source, one must download a single archived file. Linux
>> does not use CVS/SVN/GIT.
>
>You seem to live back in 2003. Linus Torvalds created git specifically
>so he could maintain the sources of Linux. The Linux developers have
>been using git exclusively since then. See http://git.kernel.org.
>

People normally do not download a single file from the Linux source tree 
unless its a README/CHANGES/PATCH or a compress archive file. That's 
because it is easier to start with a clean directory and download a fresh 
stable copy of the kernel. A second or but still acceptable is to use a patch 
to update the files and hopefully rebuild a clean kernel. Plus, the current 
archived compress kernel is around 50 MB which means the source files 
tree could be 100 .. 200 MB uncompressed and how many people want to 
spend the time to downloaded each uncompress file even if a program 
does it for you. And what happens if one or more files are received 
corrupt, in some cases a single file may pass error checking and still be 
corrupt. If the patch or archived files is corrupt, we find that out quickly 
aand ajust quickly

Also, we should not care what if any VCS, Linus Torvalds or his team uses 
on there systems to maintain the Kernel source tree.  Just like we should 
not care about what type the distro Linuxes use for the archived files 
like "deb", "rpm" or "gz", they all work but some are OK and some are 
pains in the backside.

Plus except for the linux distro maintainers how many people download each 
and every new version of the Kernel or for Ada download every version of 
GNAT for each new GCC. Most people I would say download their GNAT copy 
in May .. July, unless they update their linux distro. With one major exception 
and that is when a bug appears in the yearly released copy.

>> As for MaTRE/Openravencar/RTERM are OS for Real_Time applications with
>> usage of Posix design. And all three of these OS have some of the build-in
>> libraries written in C based on the Utah OSKIT. So, these OSs may share the
>> design concept of openSource but they do not care to spend their time in
>> maintaining a source tree as other openSource OS do. Because when a
>> maintainer changes one line in a source file to fix a bug it may cause
>> changes in 100s of other files. So to maintain the correctness of the OS it is
>> better bundle the source files into a single archived file and this process
>> decreases the maintaining and download time as well as traffic cost.
>
>If changing one file implies changing 100 other files, then the
>software is badly designed. That has nothing to do with whether a
>version control system should or should not be used. Note that proper
>VCSs treat the entire source tree as one entity, so they allow you to
>record changes to 100 files in one atomic operation. Git, Monotone,
>Bazaar, Mercurial, Fossil all have this property. Heck, even
>Subversion has it.
>

Try explaining that to those who had to downloaded complete packages after 
the GPL license was updated. Which cause all files to be altered to change 
the "GPL 2" to "GPL 3" for its acceptance of the new license. That cause 
all VCS to force complete downloads of all files. That is not bad programming, 
that just happens in the life of some programs.

Another example could be if the ARG decided to add a keyword call "parallel" 
for true parallel in Ada. And the first programmer at Adacore uses the word 
"paralel" (typo, may compile but it is still misspelled) and uses the internal 
token "tok_paralel". Which will be embedded into 4 files that are used to 
store keywords information. As well as the Parse routines ("par" 21 files 
plus one for the parallel syntax) and Semantic routines ("sem" 62 files plus 2 
for the parallel semantics) and Expansion routines (exp" 56 files plus at least 
2 for the parallel expansion design), plus a few C files that makes up 
the "GIGI" backend routine if the GCC can handle the Ada parallel design 
and/or some Ada runtime files. Now, there no problem until the testing phase 
where the first programmer may just correct the keyword but leave the 
internal token alone, but a second programmer alters a few files to 
correct keyword and the internal token and fixes the function of the parallel 
code and in the process cause 100s of syntax errors. To completely fix the 
error will require over a 100 files to be updated just for a simple typo. That's 
also not bad programming that the way it happens sometimes when altering 
an existing program and or using a team of programmers.

VCS if used should only be use internal, the public should only be allowed 
to download compressed archived files or patch files. Or maybe an compressed 
archived of the changed files. And to help improve server preformance use 
secure FTP/HTTP with readonly files. No special software is required, just 
click and download.


>> And not all of the openSource OS are GCC version 2 or 3 some have modified
>> GCC or modified BSD or even their own license that may require the person
>> downloading to accept the license before downloading.
>
>So?
>
>> If you look at sourceforge you will see a lot of packages do not fully use the
>> CVS/SVN concept due to the fact that the maintainer choose not to. That way
>> if you download a package you are suppose to get all files required including
>> the license.
>
>Tarballs are OK but not required.
>A version control system is OK but not required.
>Having both is good.
>
>> And a final note: openSource is a great concept but it is not a Prefect
>> concept. Because there is no Perfect concept only what works for that
>> group of designer at that time. And CVS/SVN/GIT is not perfect either
>> it is just what some use todays to obtain files.
>
>No, it is not "just" to obtain files. A version control system is
>supposed to control the versioning(!). With a version control system,
>you can obtain the software before it is officially released as
>tarballs, you can use bisection to find when a bug was introduced, you
>can backport bug fixes. You cannot do these things with "just" a
>tarball.
>

People who download newer version sometimes mess up there current 
version system by trying to use the newer code which may require newer 
api.  An example of this is using programs that use Linux 2.6 on Linux 2.5 
or earlier using TCP/IP6 program on a systyem that only has TCP/IP4.

And who really cares when a bug was fix, most people would say just please 
fix that bug!

>> Its better to just download the package instead of complaining about hot it storage on the
>> hosting computer.
>
>It is better only if the release tarballs are complete and free of
>bugs and if you do not need any functionality that has not been
>released yet.
>

If you need functionality that is pre released state it is better to 
write it yourself. Then wait until the maintainers have time to add 
the functionality correctly.

>--
>Ludovic Brenta.




  parent reply	other threads:[~2011-01-28 11:32 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-25 21:08 Open source Ada OS? R. Tyler Croy
2011-01-25 21:33 ` Simon Clubley
2011-01-25 21:54   ` R. Tyler Croy
2011-01-26  0:37 ` anon
2011-01-26  1:54   ` Yannick Duchêne (Hibou57)
2011-01-26  8:36   ` Ludovic Brenta
2011-01-26 11:32     ` Yannick Duchêne (Hibou57)
2011-01-26 13:06       ` Ludovic Brenta
2011-01-26 23:02         ` Randy Brukardt
2011-01-26 23:58           ` Edward Fish
2011-01-27 22:29             ` Randy Brukardt
2011-01-27  8:41           ` Dmitry A. Kazakov
2011-01-27  9:23           ` Maciej Sobczak
2011-01-26 14:04       ` Georg Bauhaus
2011-01-28 11:32     ` anon [this message]
2011-01-27 17:53   ` Dirk Heinrichs
2011-01-28 10:57     ` anon
2011-01-28 11:22       ` Ludovic Brenta
2011-01-29 16:52         ` anon
2011-01-29 17:15           ` Simon Wright
2011-01-28 17:15       ` R. Tyler Croy
2011-01-30  9:48       ` Dirk Heinrichs
2011-01-30 12:11         ` Simon Wright
2011-01-26  5:13 ` Shark8
2011-01-26  7:44   ` Yannick Duchêne (Hibou57)
2011-01-26 22:48     ` Shark8
2011-01-26  8:27 ` Ludovic Brenta
2011-01-26 18:09 ` Warren
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox