viernes, 1 de noviembre de 2013

Forgotten Names in Open Source - 2013 update

It is not the first time I write about forgotten names in Open Source world. However, I pretend to rewrite the list of forgotten names as time goes by, in order to include more names that I could have previously forgotten, or even that appear in the scene due to the increasing popularity in the actual Open Source scene.

For this reason, this post is not about Richard Stallman, Linus Torvalds, Miguel de Icaza, ... These are  recognized names in Open Source Software environment.

In the "Open Source Hall of Fame", the most known names would be, from my perspective:
- Linus Torvalds: Linux/Git
- Richard Stallman: GNU

Period. These two names are the most known names in the scene., and continue to be, up to date. With a little bit less importance, but still very known, there is a bunch of name including:

- Miguel de Icaza: Gnome/Mono
- Mattias Ettrich: Kde
- Bruce Perens: OSI/Debian
- Eric S. Raymond: OSI/fetchmail
- Donald E. Knuth: Latex
- Theo de Raadt: OpenBSD/OpenSSH
- Mark Shuttleworth: Ubuntu

Meanwhile, on the other hand, there is a much bigger bunch of names that are not as recognized as they should. The aim of this entry is to bring to foreground some of these names, in order to recognize their contribution to the Open Source Community, and also allow readers of this blog to make their opinions of other names that should be included.
Below are, IMHO, the usually names that are not recognized as they should in the Open Source scene:

Robert McCool:
Original author of the NCSA HTTP server, which later turned into the Apache Web Server.

Jamie Zawinski:
American Computer programmer responsible for significant contributions to the free software projects Mozilla and XEmacs, and early versions of the Netscape Navigator web browser. He also maintained the XScreenSaver project

Ian Murdock:
Founder of the Debian distribution, wrote the Debian Manifesto in 1993 while a student at Purdue University.

Brian J. Fox:
Active developer of the FSF. Author of GNU Bash, GNU Makeinfo, GNU Info, GNU Finger, and readline libraries.

Alan Cox:
One of the first Linux kernel testers, Cox discovered and fixed many of existing bugs and went on to rewrite much of the networking subsystem.
He then became one of the main developers and maintainers of the whole kernel.
He has also been involved in the GNOME and X.Org projects.
He left Linux kernel development in January 2013, supposedly due to familiar issues.

Greg Kroah-Hartman:
Linux kernel developer, maintainer of the stable branch, as well as various subsystems such as USB, driver core, debugfs, userspace I/O and TTY layer. It is surely the number 2 in Linux kernel project after Alan Cox has quit from the project.

Larry Wall:
Creator of Perl Programming Language, also known for beeing the developer of the "patch" tool or "rn", the Usenet client.

Guido Van Rossum:
Dutch computer programmer, author of the Python programming language.

Yukihiro Matsumoto:
Japanese computer scientist and software programmer, best known as the chief designer of the Ruby programming language.

Brendan Eich:
Computer programmer and creator of the JavaScript scripting language. He is the chief technology officer at the Mozilla Corporation.

Rasmus Lerdorf:
Danish programmer, creator of the PHP language.

John Chambers - Ross Ihakaand/Robert Gentleman:
Creators of S (Chambers) and R (Ihakaand/Gentleman) statistical computing programming languages.

Mart Otto/Jacob Thornton:
Creators of the Twitter Bootsrap framework, one of the most web frameworks used nowadays for creation of Responsive Web pages and Web applications.

James Strachan/Graeme Rocher:
For Groovy and Grails respectively.

Mark Spencer:
Computer engineer, original author of the GTK instant messaging client Gaim (renamed to Pidgin).
He is also the creator of Asterisk, a Linux-based open-sourced PBX in software, as well as l2tpd and the Cheops Network User Interface.

Michael Tiemann:
Contributor to free software include authorship of the GNU C++ compiler and work on the GNU C compiler and the GNU Debugger.

Daniel Robbins:
Founder and former chief architect of the Gentoo Linux project.

Rob Young:
Robert "Bob" Young is a serial entrepreneur whose biggest success has been Red Hat Inc, the open source software company.

Gaël Duval:
Graduate of the Caen University in France. In July 1998, he created Mandrake Linux (now Mandriva Linux), a Linux distribution originally based on Red Hat Linux and KDE.

Spencer Kimball and Peter Mattis:
They both started development of Gimp in 1995 on Berkeley University, California.

Bill Joy / Chuck Haley:
The original code for vi was written by Bill Joy in 1976, as the visual mode for a line editor called ex that Joy had written with Chuck Haley.

Theodore Y. "Ted" Ts'o:
Is a software developer mainly known for his contributions to the Linux kernel, in particular his contributions to file systems (e2fsprogs, the userspace utilities for the ext2 and ext3 filesystems, and maintainer for the ext4 file system).

Harald Welte:
German programmer, well known as a hacker of the Linux kernel, enforcer of the GNU General Public License (GPL).  Also involved in a number of free software projects, such as Openmoko, (a version of Linux for completely open, low-cost, high-volume phones) and the netfilter/iptables project.

Jörg Schilling:
Computer programmer who has worked extensively on compact disc burning software "cdrtools", the Solaris Operating System and the OpenSolaris project. He has also been involved on BerliOS Linux distribution.

Rob Savoye:
Primary developer of Gnash, he is developer of the GNU Project. He has also worked on Red Hat, Debian, and other libre software projects.
Some of the projects he has worked on include GCC, GDB,[3] DejaGnu, Cygwin, eCos and CTAS.

Árpád Gereöffy:
He started development of MPlayer in 2000.

Fabrice Beillard:
Computer programmer who is best known as the creator of the FFmpeg and QEMU software projects.

Dries Buytaert:
Open-source software programmer notable as founder and lead developer of the Drupal CMS.

Ton Roosendaal:
Dutch software developer, known as the original creator of the open-source 3D creation suite Blender.

Andrew Tridgell:
Australian computer programmer Author of the Samba file server and co-inventor of the rsync algorithm.

Brian E. Paul:
Computer programmer who originally wrote and continues to maintain the source code for the open source Mesa graphics library.

John Gilmore:
Worked on several GNU projects, including maintaining the GNU Debugger in the early 90s, initiating GNU Radio in 1998, starting Gnash in December 2005 to create a free software player for Flash movies, and writing the pdtar program which became GNU tar.

Wietse Zweitze Venema:
Dutch programmer and physicist best known for writing the Postfix email system.

Marco Pesenti:
Main developer of Galeon, Gnome's Browser.

Guenter Bartsch:
Creator of Xine Media Player.

Mark Kretschmann:
Creator of the Amarok audio player.

Roger Dannemberg / Dominic Mazzoni:
Creators of the Audacity free digital audio editor.

Olivier Fourdan:
Creator and main developer of the XFCE desktop.

As conclusion, Free Software / Open Source / Libre Software as general concept, is a wide concept contributed by dozens and dozens of thousands of not only software developers, but also software distribution packagers, activists, translators, documentary people and other roles, that have cooperated to establish one of the most important advances on the last fifty years.

Which names are, from your perspective, missing from the list ?
Do you think there should be attributions to other people ?
Which are, in your opinion, the "forgotten names" ?

domingo, 20 de octubre de 2013

The TIOBE programming languages ranking - October 2013

The TIOBE programming community index is a good thermometer to measure the state of usage of a wide number of programming languages (226 in October 2013) to determine which is the most popular programming language in a particular date.




This comparison, which has been performed since 2006, also shows the programming language ranking on the year before, as well as a graphic to show the progress and the percentage of usage.

Updated once a month, TIOBE ratings index does not define the programming language popularity in terms of lines of code. Indeed, it considers:

- The number of skilled engineers world-wide
- Courses
- Third-party vendors

To do so, the search of each of the programming languages is performed on the most known search engines, as well as on social media websites:

- Google
- Bing
- Yahoo!
- Wikipedia
- Youtube
- Baidu
- etc.

In particular, the index of October 2013 has been split in this basis [2]:

  • Google: 7%
  • YouTube: 7%
  • Baidu: 7%
  • Wikipedia: 7%
  • Amazon: 6%
  • Blogger: 6%
  • Google India: 6%
  • Yahoo! Japan: 5%
  • Bing: 5%
  • Hao123: 5%
  • Google Germany: 5%
  • EBay: 4%
  • Google United Kingdom: 4%
  • Google France: 4%
  • Google Brazil: 3%
  • Google Japan: 3%
  • Google Italy: 3%
  • Google Spain: 3%
  • 360 (so.com): 2%
  • BBC: 2%
  • Google Mexico: 2%
  • Amazon Japan: 1%
  • Google Canada: 1%
  • Alibaba: 1%
  • Huffington Post: 1%
  • Amazon Germany: 1%


Once clarified how TIOBE performs the rankings, it is time to show the TIOBE ranking index for October 2013 [1]:

Position
Oct 2013
Position
Oct 2012
Delta in PositionProgramming LanguageRatings
Oct 2013
Delta
Oct 2012
Status
11C17.246%-2.58%  A
22Java16.107%-1.09%  A
33Objective-C8.992%-0.49%  A
44C++8.664%-0.60%  A
56PHP6.094%+0.43%  A
65C#5.718%-0.81%  A
77(Visual) Basic4.819%-0.30%  A
88Python3.107%-0.79%  A
923Transact-SQL2.621%+2.13%  A
1011JavaScript2.038%+0.78%  A
1118Visual Basic .NET1.933%+1.33%  A
129Perl1.607%-0.52%  A
1310Ruby1.246%-0.56%  A
1414Pascal0.753%-0.09%  A
1517PL/SQL0.730%+0.10%  A
1613Lisp0.725%-0.22%  A
1712Delphi/Object Pascal0.701%-0.40%  A
1853Groovy0.658%+0.53%  B
1919MATLAB0.614%+0.02%  B
2026COBOL0.599%+0.15%  B


Having a glance to the previous table, some conclusions can be take:

- Regarding most used programming languages, there are not much changes in the first places. C, Java, Objective-C (pushed by its use on applications development for IOS) and C++ continue on the first places.

- Meanwhile, PHP has increased in one position (6th to 5th position), changing its position with C#, which decrease from the 5th to the 6th position.

- Basic/Visual Basic as well as Python keep their position (7th and 8th respectively) compared to October 2012 ranking.

- The most strong appearance in the top 10 position occurs with Transact/SQL, which is a proprietary extension to SQL developed by Microsoft and Sybase, appearing on the 9th position, what means an increase of 14 positions compared to October 2012 ranking.

- Javascript increases a position, maybe influenced by the increasing popularity of the JQuery library.

- Visual Basic.NET appears also as one of the most increasing used programming languages, rising from 18th to 11th position.

- Among the loosing popularity languages, some of the languages found are Perl, Ruby, Lisp and Delphi/Object Pascal.

- PL/SQL continues to increase its popularity from 17th to 15th position, seeming not to be influenced by the increase of Transact-SQL.

- Groovy is, obviously, the most rising programming language in the 20th first position, increasing from 53th to 18th position. This object-oriented language, which can be considered a subset of Java that is easier to program and to execute, is increasing its popularity due to the Groovy and Grails web framework, and the strong bid that Spring Software is doing to it.

- Last, but not least, appears MATLAB in the 19th position and COBOL increasing from 26th to 20th position.

Another interesting graphic provided by TIOBE is the top 10 programming languages evolution through last years (2001 to nowadays):



This graphic shows how Java continues its decreasing progress, and how exchanges its position with C on the top of the ranking. It is somehow interesting, that, despite of the success of Android platform, Java does not change its progress, at least from this ranking perspective.

It is also a fact that, the rest of programming languages, apart from Transact-SQL and Objective-C, continue to be somehow stable on their position, and always, all of them far from Java and C.

Last, but not least, TIOBE includes the list of the next 30th most used programming languages [1], with other very popular languages as GNU R, SAS, Ada, Fortran, Bash, ABAP, Tcl, Haskell or ActionScript:

PositionProgramming LanguageRatings
21R0.553%
22SAS0.543%
23Ada0.510%
24F#0.499%
25Fortran0.474%
26Assembly0.471%
27Bash0.470%
28Ladder Logic0.457%
29Logo0.433%
30Lua0.413%
31ABAP0.394%
32C shell0.382%
33Common Lisp0.380%
34NXT-G0.366%
35Scheme0.360%
36Scala0.345%
37D0.337%
38Prolog0.328%
39RPG (OS/400)0.319%
40PostScript0.312%
41JavaFX Script0.297%
42Tcl0.294%
43Erlang0.292%
44Max/MSP0.276%
45Scratch0.270%
46Haskell0.245%
47ML0.245%
48PL/I0.240%
49ActionScript0.215%
50Emacs Lisp0.210%

To conclude, just clarify that TIOBE ranking index is just an index with a particular calculation performed by this company. However, other measures could have been included in order to make this ranking more accurate, such as:

1 - lines of code in the most used Source Forges (Github, Bitbucket, SourceForge, GoogleCode)
2 - LinkedIn programming languages groups
3 - Support mailing lists activities
... and many other.

So, apart from being a good thermometer, this ranking should be observed with certain precautions, and not being considered as the definitive state of art around programming languages being used.

Original source: http://www.tiobe.com
References:
[1] http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
[2] http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm