Opensource Code More Refined Than Closed? 270
zonker writes "In this poorly titled cnet story (as opposed to an earlier story stating a similar theme), a company named Reasoning says that at first open source code has marginally worse quality than closed source code of the same maturity, but it tends to become better refined through the open-natured development process than closed source. They mention Apache and Linux as examples, however they don't mention the 'competitors' they tested against by name. ."
Re:Stupid (Score:2, Informative)
Human vs. automatic code inspection (Score:4, Informative)
First of all it looks like line 29 is disappeared, but maybe it was just whitespace. Looking at the code above show me that the strlen function is called with the pointer returned by the malloc in line 27. That's great, since strlen is looking for the "null termination byte" in the string it will return the position of whatever random zero byte will be next in the allocated memory because nobody was writing anything to the allocated space. I suspect, that line 28 should refer to "fspec" instead of "filespec" but since the program obviously compiled it can also be that filespec is a valid global identifier.
Anyway, this simple example from them shows, that their automatic tool doesn't find all bugs and so the numbers returned can be just a sort of wild guess. BTW: I would really like to know what their code inspection tool will report if they use it on their own code inspection software. :-)
Open-source software development methodology (Score:2, Informative)
Example: TCL Source (Score:1, Informative)
As a counter-example, there is some very, very bad Java code that I have seen recently. 5000 line classes, hardcoded database locations, total confusion about connection caching. I was supposed to fix some bugs while the developer was on vacation. It took me two weeks just to figure out where the problem was!
I think if you know your peers are going to see your code, you put the extra effort into it, hoping someone else will say "Nice Job". (I think that is one of the reasons engineering in general is such a great job. You KNOW you've done a good job because a) it works and b) your peers say so.)
-- ac at work
Re:Software quality (Score:1, Informative)
Sorry, but main() must be declared either as int main(void) or as int main(int argc, char ** argv) (or equivalent). In particular, void main(void) is not standard-conforming, and is thus wrong.
If you had written int main(void) you would still have been wrong as you are supposed to return a value, with return 0 or exit(0) (or possibly some other integer).
Re:Who Knows? (Score:3, Informative)
This would be great... (Score:3, Informative)
Re:Software quality (Score:1, Informative)
Which is better, but I'm just waiting for one of the loonies who infest comp.lang.c to pop up and quote cross-referenced paragraphs of ANSI standards at me..
Re:Who Knows? (Score:5, Informative)
Nothing for a user in XP, that he can't do with Win95.
Not even considering that they are two 'completely different' operating systems, I can probably name at lesat 50 major things off the top of my head that you can do in XP that you cannot do Win95.
Should we start the list?
1.) NT Kernel Layer - Abstracts Win32 Kernel from OS, giving system stability, and the ability to add additoinal OS subsystems on the NT Kernel in addtion to the Win32 subsystem.
2.) NTFS - Journalled File System
3.) NTFS - Object Oriented Based file Security System.
4.) NTFS - File/Folder Encryption
5.) NTFS - File/Folder Compression
6.) System Restore Protection
7.) OS Self Repair and File Protection
8.) DLL abstraction (multiple DLL instances in memory)
9.) Increased Boot & ShutDown Speeds
10.) Suspend to Disk Hibernation
11.) Full ACPI support with Scheduler with Even Scheduler - Wake Up Support
12.) RDP - Remote Desktop
13.) Telnet Server
14.) FTP Server
15.) IIS Server
16.) Application Crash protection that catches bad Memory and API calls in Real-time and prevents application crashes without the user ever knowing it is happening.
17.) POSIX supported naming conventions
18.) NTFS - HardLinks
19.) NTFS - Mount Points
20.) NTFS - Reparse Points
21.) DFS
22.) NTFS - 16exabyte Partions
23.) 4GB of RAM Access - 64bit Desktop 16GB RAM - Server 64GB/512GB RAM
24.) Native CDR-CDRW Support
25.) Intellimirror
26.) Offline Network Files & Synchronization
27.) ZDLabs reports 27 percent faster than Win95/Win98 with more than 64Mb of RAM
28.) Internet Connection Sharing
29.) Basic Firewall (Built In Firewall mechanisms for third party Firewalls to directly Plug In)
30.) Full Unicode Support
31.) Mutli-Processor Support (2 in Professional - 32 in Server)
32.) IPSec
33.) Smart Card Support
34.) Built in WiFi and UPnP
35.) Native Multi Monitor Support
36.) ClearType Throughout the OS
37.) Remote Assistance
38.) NLA
39.) Full VPN Support In & Out
40.) Driver Rollback (Windows Protection)
41.) Network Bridging
42.) Web Folder Support
43.) Fast User Switching
44.) WMI
45.) Group Policy (Local & Active Directory)
46.) Enhanced Power Management (Supporting CPU Throttling in addtion to other device Power control for improved Mobile battery Life)
47.) Kerbos
48.) IPv6
49.) Qos
50.) Volume Shadow Copy (Shadow Volumes - Versioning on Server)
That is just 50 'technical' things I could pull off the top of my head.
Should we also list another 100 other items that are in the UI of XP like common folder tasks, photo printing, built in Zip Folders, Image Acquisition, etc?
"Yeah, there sure is not anything in XP that a Win95 user can't do." - Said the person living in a cave.
You can easily spot the people that either do not get this stuff, or just have not used XP and only base their experience on the time they used Win9x and the FUD they read about XP.
In addition, as I said before, I also use OSX, Mac System 8.1, Mandrake, FreeBSD, Solaris, and Redhat everyday, so I am not a sold MS XP zealot by any sense of the word.
Nevertheless, saying that XP does not offer a user anything more than Win95 is just ridiculous.
Geesh...
Re:Why closed-source stagnates... (Score:3, Informative)
Open-source applications aren't limited by hard deadlines, demanding customers that want the feature yesterday, and budgets that limit the man-hours that can be devoted to a project. An open-source project manager can take all the time in the world to completely redesign a project from scratch and slowly build up the infrastructure necessary to make it happen. As soon as there are thousands of paying customers calling up with feature requests, bug reports, etc. then it's the company's job to fulfill those requests in as timely a fashion as possible, lest they lose their customers. That often means fixing the bug, but leaving an underlying problem in the infrastructure that could be rewritten, but doesn't adversely affect developing or releasing the next version of the software.