TLWIR 17: MS Visual Studio Alternative, Software Freedom Day 2011, and OpenJDK

by Rex Djere on September 15, 2011 · 2 comments

in TLWIR

Free software is more than JUST software; free software is primarily about developing relationships, and forming communities based in respect and trust. I love the free software community because I feel a greater sense of connectedness with the people who create free software. I share their passion. Did you notice how everyone rallied around the Linux Foundation and Linux.com following their recent hacking incident? This was in sharp contrast to most of the hackings that occur in the proprietary software world. I don’t think that the proprietary software community has the same sense of connectedness and solidarity. The person that develops proprietary software often sits behind a cubicle someplace, far removed from the end users. Free software empowers both the user AND the development community. This is not to say that the developers of proprietary software are bad people; they are not. However, the basic philosophies of the two communities are fundamentally very different.

I embrace the uniqueness of the free software and open source communities, and this edition of TLWIR focuses on some of the finest examples of that which differentiates our way of thinking. Code::Blocks is a free software Integrated Development Environment. It gives you the power of Microsoft Visual Studio AND the freedoms granted by GNU’s GPL license version 3. The OpenJDK community has freed Java by creating a completely open source version of the Java stack. This is a a great service to the free software community: a free software version of one of the world’s most popular programming languages. However, nothing more espouses the spirit of the free software movement than Software Freedom Day. In the 17th edition of The Linux Week in Review, I will discuss all of these fascinating developments:

  • Code::Blocks Application Creation Provides An Open Alternative to MS Visual Studio
  • Software Freedom Day 2011: An International Celebration of Freedom
  • OpenJDK Brings A Fully Open Sourced Java On Linux Closer To Reality

 

Code::Blocks Application Creation Provides An Alternative to MS Visual Studio

It is often difficult to find out specifically which software packages are released under version 3 of GNU’s GPL license. This is because software developers rarely advertise the fact that their software is licensed under version 3, vice version 2. Software licenses aren’t very sexy, and most people that love free software only care that the license IS a free software license. How many computer users do you know that would not use a piece of software because it was licensed under an Apache license? The bottom line is that most end-users only care that the software does what they need it to do. Software licenses are mostly in the purview of software developers. However, as the GPL version 3 becomes more popular, more and more popular programs are moving to it. One very exciting project licensed under version 3 of the GPL is Code::Blocks.

Code::Blocks is a very popular Integrated Development Environment that is released as free software. It is available in the repository of most GNU/Linux distros, and there are also Windows and Mac OSX versions. Code::Blocks was written in C++ using the wxWidgets GUI toolkit. As a C++ programmer myself, Code::Blocks is, by far, my favorite IDE. In fact, I now use Code::Blocks exclusively. Even though Java is a very popular programming language, I never got into it, and I frankly prefer C++. Nothing against Java, it is just a personal preference. Next, I’ll explain why I love Code::Blocks so much.

I live in a mostly GNU/Linux world, but I am occasionally forced to make forays in Windows. Those most often occurs at work, where all of the pcs run Windows XP. At home, I have 1 Windows 7 pc, which satisfies the needs of other members of the household. I could live only on GNU/Linux, and I did so for many years. However, given that Code::Blocks runs on all 3 major pc platforms, doing all of my software development in Code::Blocks is a win-win situation. I can start a C++ project on my Fedora laptop, upload it to Google Docs, and then download it to my Windows 7 pc to continue working on it. The system that I have developed makes me incredibly efficient. The thing that I love most about Code::Blocks is that the developers keep the same versions current on the Linux, Windows, and Mac platforms. It provides a lot of stability to know that the version 10.05 of Code::Blocks that I run on Fedora will be the same version 10.05 that is running on Windows 7. This gives me a high degree of confidence that everything will just work. Eclipse is a nice software development platform, especially if you prefer to code in Java. However, if C++ is your preferred programming language, I would definitely give Code::Blocks a try.

 

Software Freedom Day 2011: An International Celebration of Freedom

Software Freedom Day is one of the most venerable events in the free software community. It is an annual celebration of free and open source software. The goal of the Software Freedom Day is to educate people on how free software can be used in education, government, businesses, personal computing devices, and pretty much everywhere else. Software Freedom day has grown exponentially since the first one took place on August 28th, 2004. About 70 teams of free software advocates participated in the first event. By 2010, that number had risen to over 1000 teams. The 2011 Software Freedom Day will occur on September 17th, and it will be a global event. http://softwarefreedomday.org/ has a global map of all of the events worldwide, so you can check to see where an event is occurring near you. I personally think that Software Freedom Day is a great way to: meet people that are passionate about free software, network with people that may lead to job opportunities, and meet the people that develop and sponsor the development of great free software. I have an event that is about a 2 and a half hour drive from me, and I am looking at the logistics to see if I will be able to attend. I have never been to a free software event, and this would be an exciting opportunity for me to see the free software COMMUNITY in action. Whether I make it to the Free Software Day event or not, I will attend a Linux/Free Software event soon. I am planning on recording an episode of my Linux oggcast from one of these events. In my mind, the most practical way of doing this would be to plug a microphone into my Ubuntu netbook, and record the show using Audacity.

If you do have an opportunity to make it to one of the Software Freedom Day 2011 events, I think that it would be a wonderful experience, and a great opportunity to connect with other members of the FOSS community.

 

OpenJDK Brings A Fully Open Sourced Java On Linux Closer To Reality

Java is an EXTREMELY popular programming language. According to Langpop.com, as of mid 2011, Java was the second most popular programming language in the world after C. Here are the top 10:

  1. C
  2. Java
  3. C++
  4. PHP
  5. Javascript
  6. Python
  7. C#
  8. Perl
  9. SQL
  10. Ruby

However, despite Java’s undeniable popularity, the free software community has felt somewhat left out in the cold by the lack of a truly open implementation of Java. For years, free software advocates have been calling for Sun (and now Oracle) to release a fully free version of Java. In November of 2006, Sun Microsystems made history by releasing two major parts of the Java suite under version 2 of GNU’s General Public license: the Java Hot Spot Virtual Machine, and the associated Java compiler. Within the next 4 months, Sun’s CEO at the time, Jonathan Schwartz, kept his promise to release most of Java as free software. By March of 2007, much of the Java Runtime Environment had been released under the GPL. In May of 2007, Sun released all of the source code for the Java Class Library under GPL v. 2. OpenJDK was born.

Recently, Oracle decided to retire the license that had allowed GNU/Linux distributions to distribute Java with Linux. The reason that they cited was the maturity of OpenJDK. The writing is clearly visible on the wall: OpenJDK is now the default form of Java in the free software community. As a C++ man, I don’t use Java much myself, but I do like the write-once, run anywhere nature of the technology. Java is a great programming language, and OpenJDK is a great development for the free software community.

 

Conclusions

There is a lot of controversy surrounding the comparisons between the free software concepts and the open source concepts. I call for a united front to be formed between the two schools of thought. In my humble opinion, free software is THE fundamental idea. Open source is an extension to the free software movement that applies some of the complex realities of the business community. Both the free software community and the business community are ultimately looking for the same thing: freedom. The free software community is looking for freedom from unethical licenses and the inability to see and edit a program’s source code. The business community is looking for freedom from vendor lock-in and exorbitant pricing. There is no inherent conflict between the two. The basic message of both philosophies is the same: stop trying to screw me over! I, for one, am proud to support BOTH concepts.

Thank you for taking part in this exciting and continuing journey and exploration of freedom in software. We will continue the journey together in the next edition of The Linux Week in Review. Until then, please take care!

References

  • Code::Blocks. (2011, September 8). In Wikipedia, The Free Encyclopedia. Retrieved 08:24, September 13, 2011, from http://en.wikipedia.org/w/index.php?title=Code::Blocks&oldid=449152721
  • OpenJDK. (2011, September 3). In Wikipedia, The Free Encyclopedia. Retrieved 08:26, September 13, 2011, from http://en.wikipedia.org/w/index.php?title=OpenJDK&oldid=448289418
  • Software Freedom Day. (2011, August 26). In Wikipedia, The Free Encyclopedia. Retrieved 08:25, September 13, 2011, from http://en.wikipedia.org/w/index.php?title=Software_Freedom_Day&oldid=446815724

 

Learn The Linux Command Line

Linux Command Line PDF

Learn to use the Linux command line interface with over 40 lab projects wrapped into our 215 page PDF manual. The manual is written in a course format and targeted at Windows administrators moving to Linux.


Commands Line PDF Details

{ 2 comments… read them below or add one }

Steven Oliver September 16, 2011 at 4:28 am

I’ve never tried Code:Blocks. Looks nice, sounds nice, etc. Regardless though, you upload your code to Google Docs!?!?

Rex Djere September 23, 2011 at 1:07 am

@Steven Olivier Hi Steve! Yes, Google Docs is invaluable to me. It is a nice central place to store all my files. When I upload my code (in the form of .cpp files) to Google Docs, I have access to it from any Internet-connected computer in the world. I can then download it on a different computer, continue working on it, and then upload it back to Google Docs. I love the cloud!!

Leave a Comment

Previous post:

Next post: