From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,6df3ec0dff30c185 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!feeder.news-service.com!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!news.visyn.net!visyn.net!news2.arglkargh.de!news.ett.com.ua!not-for-mail From: anon@att.net Newsgroups: comp.lang.ada Subject: Re: Open source Ada OS? Date: Fri, 28 Jan 2011 11:32:28 +0000 (UTC) Organization: ETT newsserver Message-ID: References: <4d3f3be3$0$22088$742ec2ed@news.sonic.net> Reply-To: anon@anon.org NNTP-Posting-Host: dialup-4.225.169.99.dial1.dallas1.level3.net X-Complaints-To: usenet@news.ett.com.ua X-Notice: Filtered by postfilter v. 0.6.1 X-Newsreader: IBM NewsReader/2 2.0 Xref: g2news1.google.com comp.lang.ada:16766 Date: 2011-01-28T11:32:28+00:00 List-Id: In , Ludovic Brenta 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.