Free, open-source software

From Chemistry Teachers United

Jump to: navigation, search

Contents

What does open-source mean?

The "source code" of software is what programmers actually write, for example:

For N = 1 to 10
Print N
Next N

Open-source means that the source code is provided with a computer program, so that the program can be modified and improved.

What does "free" mean?

Free, open-source software is referred to as FOSS. Although FOSS is usually free in the sense of cost, the free refers to the freedom of the user to use the software and modify it to suit the user's needs. If a company offers a free computer program, the program may only work for a while, or, after people become dependent on it, the company may improve the program and start charging for it. In contrast, FOSS programs can't be made "non-free".

What keeps FOSS "free"?

The freedom of the user to use FOSS as he or she chooses is provided by a legal license. Many types of software licenses are listed by the Free Software Foundation. Two major versions are represented by the general public license (GPL), and the lesser general public license (LGPL).

  • GPL software can only be used in free software; if the software is modified and released to the public, the modifications to the source code must also be released.
  • LGPL software may be used in proprietary products, and does not require modifications to the software to be released.

GPL software has an advantage over LGPL software. LGPL and proprietary software can modify and incorporate other LGPL software without releasing the source code. LGPL software cannot incorporate GPL software (if it did the entire project would become GPL). On the other hand, GPL software can incorporate both GPL and LGPL software. This gives GPL software a larger code base to grow from, and will probably ultimately lead to GPL dominating LGPL software.

Is FOSS safe to use?

FOSS tends to be secure. The "bad guys" will always be looking for security holes in software. If the software is open-source, the rest of the world can examine the software and point out security problems so that they may be fixed. If the software is proprietary, the rest of the world cannot examine the source code, making it more difficult to help find security problems.

What is the motivation for creating FOSS software?

FOSS exists for various reasons.

  • Software developers get a thrill out of creating software that is used by people around the world.
  • Companies support FOSS because it fits in with their business plans. For example, Google has donated millions to the Mozilla foundation in exchange for being the default search engine in the Firefox web browser.
  • Economically, business supports FOSS because it lowers the cost of software. Logically, FOSS must eventually exist: the world is more productive if the basic software it uses belongs to the world.

Why is FOSS getting more popular?

Although FOSS has been around for about as long as computers have, it is just now becoming widely used. Partly, this is because tools and frameworks have been developed. Here is an example. When using a computer projector in the classroom to show a web site, it is handy to be able to zoom the size of the web page. This feature is present in Internet Explorer 7 (if you need it, it's on the bottom right of the screen). A FOSS browser, Firefox 2, does not have a zoom feature because it does not have a graphics engine. The cairo graphics project has developed an open-source graphics engine, which Firefox 3 will use to provide a zoom feature. Firefox improved because an open-source tool, cairo, became available. Here are some other examples of tools and framework that have contributed to rapid improvement in FOSS.

  • Open-source version control software allows many people to work on a project at the same time.
  • The Times New Roman and Arial fonts are owned by Monotype. FontForge allows people to create their own fonts. The Open Font Library licenses fonts for the world use. The STIX font project has prepared royalty-free fonts for the scientific and engineering community.
  • Software can be created using open-source programming languages, such as Perl and Python.

Examples of FOSS and open standards of interest to chemistry teachers

If FOSS is used to create all the downloadable files on this web site, visitors to the site will not need proprietary software to take advantage of what is offered here. As a result, this site will be useful to more people. To make the site yet more useful, the format of documents should meet international standards. The open document format, ODF, approved by the International Organization for Standardization, is a standard for electronic documents, such as word-processing, spreadsheet, presentation, and chart files. Microsoft Office 2007 does not follow the ODF standards, but OpenXML/ODF Translator Add-in for Office is free and will convert files to ODF. Here are some FOSS programs that can read and write files in the ODF format:

  • OpenOffice.org: Office suite (word processor, spreadsheet, presentation program, etc.). LGPL license. Multi-platform.
  • AbiWord: word processor. GPL license. Multi-platform.
  • KOffice: Office suite. GPL license. For Linux.


A modern email client, such as Microsoft Outlook, is used not just to check emails, but also to keep track of contacts, and put reminders on a calendar. Some FOSS email clients do most of these things. An especially interesting undertaking is the Thunderbird project, a multi-platform email client supported by the Mozilla foundation. Thunderbird 3 is expected to have an integrated scheduling calendar by the end of 2008.

Office suite programs and email programs are becoming available, are getting to be of high quality, and run on multiple platforms: Windows, the Mac, and Linux. Linux is a free, open-source operating system. Now that quality applications are available for linux, its usage is increasing (0.65% of web traffic originated from linux computers in February, 2008). Dell now sells PCs with linux installed. Many linux distributions, such as Ubuntu, release a free update every 6 months. The entire operating system can be downloaded from the internet. This may be the operating system that we and our students use in the future.

Open-source programs will change how we teach the mathematical part of our courses. Currently, when students are taught equilibrium calculations, they are also taught simplifications to make the calculations easier. That is a thing of the past. Computer algebra programs like Maple, Mathematica, and MathCad have been too expensive for the classroom. Now, FOSS programs like OpenAxiom (Modified BSD license), Maxima (GPL license), and SciLab (SciLab license) are available. If every student in the classroom had a laptop computer, they could be shown how to solve equilibrium problems with the math software, rather than work the problem out by hand. The students would learn the skills that are really needed in the workplace.

Students often pay not only for their textbooks, but also for access to online homework systems. Some schools content management systems, such as Blackboard/WebCT, to manage tests and homework problems. Many FOSS content management systems, CMS, are available. Some of them can be tried at OpenSourceCMS. LON-CAPA is especially interesting, because it supports a network to connect schools, so that they can share tutorials, etc.

Chemistry teachers should be involved with creating tutorials, homework, and test questions for these CMS systems. The trick is to create the learning materials in a standard format so that the material can be imported into a CMS. The SCORM standard, established by the US department of defense, is

"…a collection of standards and specifications adapted from multiple sources to provide a comprehensive suite of e-learning capabilities that enable interoperability, accessibility and reusability of Web-based learning content."

In other words, if we figure out how to create learning materials in the SCORM format, it can be imported into a CMS system. And if we figure out how to set up a CMS system of our own, the students won't have to pay publishers for online homework services.

When starting to design learning materials, it can be helpful to see how the ideas are to be connected with a concept map. Two FOSS mind map programs are available: VUE (Mozilla Public License), and FreeMind (GPL license).

To illustrate the learning materials, pictures are needed. An open standard for pictures is the "scalable vector graphics", SVG, format. In the SVG format, a line, for example is represented by its starting and ending points. The computer is given the job of creating the line and giving it smooth edges. When a line in a bitmap file is expanded, the edges become ragged. When an SVG file is expanded, the computer compensates, and the line stays smooth. (SVG files are sometimes smaller than bitmap files, too.) A FOSS program for creating SVG figures is Inkscape (GPL license).

Another open standard for pictures is the "portable network graphics", PNG, standard. Basically, this describes a method for compressing bitmap images without losing any information. (In contrast, information is lost when compressing according to the JPEG standard.) Most graphics applications support both of these, such as GIMP (GPL license), a multi-platform program, and Paint.net (MIT license), a Windows-only program.

Some other FOSS examples are Dia (GPL license), for drawing diagrams; Archimedes (GPL license), for CAD drawings; Blender (GPL license), for creating 3-D drawings; OpenLaszlo (common public license), for creating flash animations; and Gnash (GPL license), for playing flash animations. Some other examples of open standards are the standards for audio, voice, and video file formats that are developed and supported by the Xiph.org foundation.

An application to display and rotate molecules in the class room, and on the web is Jmol (LGPL license). Several proprietary molecular editor programs are available at no charge: ChemSketch, KnowItAll, IsisDraw, and MarvinSketch. Some available FOSS programs that are still actively being developed are Avogadro (GPL license), JChemPaint (LGPL license), and BKChem (GPL license). FOSS molecular editors may eventually be embedded in web sites, allowing online tests to require the student to draw a structure. The student's work can then be evaluated by sending the structure back to the server as a short string of characters that describes the chemical connectivity. Two standards for these strings are OpenSMILES and InChi.

On a higher level, people now expect to be able to share information. We can use and contribute to Wikipedia, the online encyclopedia. We can publish in open-access scholarly journals, listed at DOAJ (over 70 chemistry journals are listed) and Open J-Gate (28 of 38 journals with "chemistry" in their titles are peer-reviewed). Companies now share their research goals with the world, and will reward those who attain those goals through sites like InnoCentive (over 1100 chemistry projects are listed).

Sharing of information leads to a need to protect that information, which can be done with a license. Some possible licenses for documents are Apple's Common Documentation License, the GNU Free Documentation License, and those listed at Creative Commons.

Welcome to the software revolution.

Personal tools