Finance
Adempiere — ERP Business Suite
Compiere — ERP solution automates accounting, supply chain, inventory and sales orders
GnuCash — Double-entry book-keeping
Grisbi — Single-entry
HomeBank — for personal use
jFin,JFire - an ERP Business Suite written with Java and JDO
JGnash — Java-based, double-entry book-keeping
JQuantLib — Java-based Quantitative Finance API framework for financial instrument valuation and more...
KMyMoney — Double-entry book-keeping
LedgerSMB — Double-entry book-keeping
Mifos — Microfinance Institution management software
Octopus Micro Finance Suite — Microfinance Institution management software
Openbravo,OpenERP — ERP system
Postbooks — Integrated Accounting and ERP Business SuiteQuasar Accounting
QuickFIX/J — FIX protocol engine written in Java
SQL Ledger — Double-entry book-keeping
Tryton
TurboCASH — Double-entry book-keeping for Windows Integrated Library System
2.Computer simulation
SimPy; queue-theoretic event-based simulator written in Python
Blender; 3D modeling software written in Python and C++ that can make animations and games
3.Microscope image processing
• CellProfiler
• ImageIJ
• FIJI (software)
• Endrov
Molecule viewer
• Jmol
• Molekel
• MeshLab- able to import PDB dataset and build up surfaces from them
• PyMOL
• QuteMol
• RasMol
• Avogadro
Molecular dynamics
• Ascalaph Designer
• GROMACS
• MDynaMix
• TINKER
• NAMD
Bioinformatics
• Bioclipse
• BioRails
• UGENE
• GENtle
Cheminformatics
• Chemistry Development Kit
• JOELib
• OpenBabel
•
Grid Computing
P-GRADE Portal — Grid portal software enabling the creation, execution and monitoring of workflows through high-level Web interfaces
Artificial intelligence
Computer Vision
• OpenCV Open Source Computer Vision Library
• AForge.NET Computer Vision, Artificial Intelligence and Robotics library for the .NET Framework
Robotics
• ROS Robot Operating System
Planning
• TREX Reactive planning
Machine Learning
• See Data Mining below
• See R programming language -- packages of statistical learning and analysis tools
•
Assistive technology
Speech (synthesis and recognition)
1. CMU Sphinx — Speech recognition software from Carnegie Mellon University
2. Emacspeak — Audio desktop
3. Festival Speech Synthesis System
4. Modular Audio Recognition Framework — voice, audio, speech, NLP processing
5. NonVisual Desktop Access (NVDA) Screen reader for Windows
6. Text2Speech — Lightweight and easy to use Text To Speech (TTS) Software
7. ESpeak - compact open source software speech synthesizer for English and other languages
Other assistive technology
• Dasher — Unique text input software
• Gnopernicus — AT suite for GNOME 2
• Virtual Magnifying Glass - a free, open source, multiplatform, screen magnification tool.
Data mining
• Orange (software) — Open source data visualization and data mining for novice and experts, through visual programming or Python scripting. Extensions for bioinformatics and text mining.
• RapidMiner — data mining software written in Java, fully integrating Weka, featuring 350+ operators for preprocessing, machine learning, visualization, etc.
• Scriptella ETL — ETL (Extract-Transform-Load) and script execution tool. Supports integration with J2EE and Spring. Provides connectors to CSV, LDAP, XML, JDBC/ODBC and other data sources.
• Weka — data mining software written in Java featuring machine learning operators for classification, regression, and clustering.
• jHepWork — Java-based data analysis framework
• Konstanz Information Miner (KNIME)
• Environment for DeveLoping KDD-Applications Supported by Index-Structures (ELKI) - data mining software framework written in Java with a focus on clustering and outlier detection methods.
•
Enterprise search engines
1. Jumper 2.0
2. Lucene
3. Solr
4. Xapian
ETLs (Extract Transform Load)
• CloverETL
• Talend
• Pentaho
• SpagoBI
• Konstanz Information Miner (KNIME)
•
Networking and Internet
Advertising
• OpenX
E-mail
• Gmail
• Yahoomail
• Rediffmail
• Hotmail
• sifymail
Instant messaging
• Google chat
• Yahoo chat
• Windows messagner
RSS/Atom readers/aggregators
• RSS Bandit - Windows - .NET
• RSSOwl - Windows, Mac OS X, Solaris, Linux - Java SWT Eclipse
• Akregator - Platforms running KDE
• Sage (Mozilla Firefox extension)
• Liferea - Platforms running GNOME
•
Communication-related
• Asterisk — Telephony and VoIP server
• Ekiga — Video conferencing application for GNOME and Microsoft Windows
• FreePBX — Front-end and advanced PBX configuration for Asterisk
• FreeSWITCH — Open Source telephony platform
• QuteCom — Free Voice, Video and IM client application
• SIP Communicator— Java VoIP and Instant Messaging client
• sipX — SIP Communications Server
• Slrn — a newsreader
• Twinkle — VOIP softphone
Peer-to-peer file sharing
• Free BitTorrent clients
Remote access and management
• FreeNX
• OpenVPN
• Purgos
• rdesktop
• Synergy
• VNC (RealVNC, TightVNC, UltraVNC)
Web browsers
• Mozilla
• Opera
• Internet Explorer
• Netscape Navigator
• Google Chrome
Webcam
• Cheese
Webgrabber
• cURL
• HTTrack
• Wget
Web-related
• Apache Cocoon — a web application framework
• Apache — the most popular web server
• AWStats — a log file parser and analyzer
• BookmarkSync — a tool for browsers
• CougarXML — A Javascript framework for parsing and manipulating XML code, based on W3C DOM Level-3 specifications.
• curl-loader - a powerful HTTP/HTTPS/FTP/FTPS loading and testing open-source tool
• HTTP File Server — a user friendly file server software with a drag and drop interface
• Distributed ICDL Crawler — an open source web crawler based on Website Parse Template
• lighttpd — Resource sparing but also fast and full featured HTTP Server
• nginx — lightweight, high performance web server/reverse proxy and e-mail (IMAP/POP3) proxy
• NetKernel — an internet application server
• Qcodo — Open Source PHP 5 Framework
• Roxen Webserver — Open Source web server
• Squid cache — web proxy cache
• Web-Developer Server Suite — a package of web applications including Apache, MySQL, and PHP
• XAMPP — a package of web applications including Apache and MySQL
• Zope — a web application server
•
Portal Server
• Liferay
• Sun Java System Portal Server
• uPortal
Middleware
• Apache Axis2 - Web service framework (implementations are available in both Java & C)
• Apache Geronimo
• GlassFish Application Server
• JacORB — Java implementation of the OMG's CORBA standard
• Jakarta Tomcat — a servlet container and standalone webserver
• JBoss Application Server an application server
• ObjectWeb JOnAS — Java Open Application Server, a J2EE application server
• OpenSplice DDS — implementation of the OMG's Data Distribution Service for Real-time Systems (DDS) standard
• SmartVariables — a generic network-shared object application server
• TAO (software) — C++ implementation of the OMG's CORBA standard
Other networking programs
OpenLDAP — an open source LDAP server
JXplorer — an open source LDAP client
openVXI — an open source VoiceXML interpreter
YaCy — P2P-based search engine
Educational
Educational suites
• eFront - an icon-based learning management system
• GCompris
• IUP Portfolio
• Moodle
• Sakai Project - a web-based learning management system
• Tux Paint - a paint application for 3–12 years old.
• Learning support
• Main category: Free learning support software
Language
• Kiten
• KVerbos
Typing
• KTouch
• Tux Typing
Geography
• KGeography
Other educational programs
• KEduca
• JClic
Theology
Bible study tools
• BibleDesktop — For Cross-platform
• BibleTime — For Linux using KDE
• Xiphos The_SWORD_Project — For Linux using GNOME
• Go Bible — For Java Mobile Phones
• jSword — For Java
• MacSword — For Mac OS X
• SwordBible — For Windows
• The SWORD Project for Windows — For Windows
• Marcion — For Linux and Windows, using Qt UI Framework and embedded MySql server
• Online Bible — For Windows and Mac OS X
Graphical user interface
• Windowing system
• Desktop environments
• Window managers
Groupware
• Content management systems
• Wiki software
Media
• Multimedia codecs / containers / splitters
• Audio editors / audio management
• Graphics
• Image galleries
Image viewers
• Eye of GNOME
• F-spot
• Gqview
• Gthumb
• imgSeek
• Kphotoalbum
Radio
• Dream DRM Receiver
2D animation
• KToon
• Synfig
• Pencil
• NodeBox
3D animation
• Blender
• Art of Illusion
• Geist3D
• K-3D
• OpenFX
• Seamless3d
Flash animation
• Pencil Animation (for animations)
• SWFTools (for scripting)
Video editing
• Avidemux
• AviSynth
• Blender
• Cinelerra
• CineFX formerly known as Jahshaka
• DScaler
• DVD Flick
• DVDx
• GNU VCDImager
• Kaltura
• Kino
• Kdenlive
• LiVES
• OpenShot Video Editor
• PiTiVi
• VirtualDub
• VirtualDubMod
Video players
• VLC Media Player
Other media packages
• Gnome Subtitles
• Celtx - Media Pre-production Software
Password management
• KeePass
• Password Safe
Personal information managers
• Chandler — In development by Mitch Kapor and the OSAF.
• KAddressBook
• KonsoleKalendar
• Kontact
• KOrganizer
• Mozilla Calendar — A Mozilla-based, multiplatform calendar program.
• Novell Evolution
• OpenSync (software)
• Rachota Timetracker — portable timetracking for projects. Open source. Windows, Linux, Solaris and Mac.
Programming language support
• ABCL — an implementation of Common Lisp for the JVM
• ArgoUML — ArgoUML is a modelling tool that helps you design using UML diagrams
• CLISP — a Common Lisp interpreter and bytecode-compiler
• Clojure — a Lisp (not Scheme nor Common Lisp) targeting the JVM
• DJGPP — a 32-bit DOS port of GCC and other GNU utilities
• Dragonfly — newLISP based web development framework
• Eiffel
• ECL — an Common Lisp implementation designed for integration with C
• Erlang - a general-purpose concurrent programming language and runtime system
• Experix — command line and stack system for data acquisition and analysis and graphics
• Forth
• Free Pascal A Pascal compiler and cornerstone of the Lazarus RAD
• FreeBASIC A BASIC compiler
• GT.M is an open source MUMPS (a.k.a. M) compiler for Linux
• Harbour — compiler for the xBase superset language often referred to as Clipper
• Jikes — Java compiler
• LLVM — Optimizing compiler toolkit
• Clang — NSCA licensed LLVM compiler frontend for C/C++ and Objective-C
• Logo — Derivative of Lisp without parenthesis, for kids, with Turtle Graphics
• Lua - a lightweight, reflective, imperative and procedural language, designed as a scripting language with extensible semantics as a primary goal.
• MinGW — Windows port of +GCC
• Mono development platform — Multi-platform .NET implementation (C#) based on the ECMA/ISO standards
• MMIXware — simulator for MMIXAL language and MMIX processor
• Objective Caml — a practical and fast functional OO language
• ODB — a compiler-based object-relational mapping (ORM) system for C++
• OpenCOBOL — an open source implementation of the COBOL programming language
• OpenJDK — Sun's Java Development Kit based completely on free and open source code
• Parser — a language for dynamic website creation
• Perl — a programming language strong on text processing
• PHP — a scripting language designed for web site applications
• PCC — a BSD licensed C compiler
• Processing - a visual programming language based on Java
• Prolog — Logic programming
• Python — a high-level scripting language
• Refal - a functional programming language
• REXX - an interpreted programming language
• Rhino — a JVM-based JavaScript engine
• Ruby — a high-level scripting language
• Ruby on Rails — Ruby-based web development framework
• SBCL — a high-performance Common Lisp implementation
• Spidermonkey — C/C++ JavaScript engine of the Mozilla project
• StarUML — a software modeling tool
• Tcl/Tk — a high-level scripting language with a graphical toolkit
• Wavemaker - a visual, drag and drop web development platform based on Java and
• GCC — a set of compilers for multiple programming languages and platforms, including
1. C
2. C++
3. Objective-C
4. Ada
5. Java
6. Pascal
7. Fortran
Bug trackers
• Bugzilla
• Mantis
• Mindquarry
• SharpForge
• Redmine
• Trac
Code generators
• Bison
• CodeSynthesis XSD — XML Data Binding compiler for C++
• CodeSynthesis XSD/e — Validating XML parser/serializer and C++ XML Data Binding generator for mobile and embedded systems
• xmlbeansxx — XML Data Binding code generator for C++
• Flex lexical analyser
• Kodos
• phpCodeGenie
• SableCC — parser generator for Java and .Net
• SWIG — Simplified Wrapper and Interface Generator for several languages
Configuration software
• Autoconf
• Automake
Screensavers
• Electric Sheep
• Flurry
• XScreenSaver
• Boinc
Security
• Anti-virus
• ClamAV
• ClamWin
• Gateway Anti-Virus
Anti-spyware
• Winpooch
Encryption
• GnuPG
• KGPG
• Seahorse
• GnuTLS
• OpenSSL
Disk encryption
• CrossCrypt
• FreeOTFE and FreeOTFE Explorer
Firewall
• Iptables
• Coyote Linux
• eBox Platform
• fdgw
• Firestarter
• IPFilter
• ipfw
• IPCop
• M0n0wall
• PeerGuardian
• PF
• pfSense
• Rope
• SmoothWall
• Shorewall
• Untangle
• Vyatta
Secure Shell (ssh)
• Lsh - server and client (supporting SRP and Kerberos authentication)
• OpenSSH — client/server
• PuTTY — client only
• Cyberduck — Mac OS X client only
Other
• Active Agenda — A PHP application for risk management and PHP generator to convert specifications written in XML to a functioning browser application atop a MySQL database.
• Active Calendar — A PHP class that generates calendars as HTML tables
• Bochs — PC emulator
• Bonita Open Solution — Business Process Management
• Bots — EDI software (communication and translation)
• Cygwin — open source Unix environment for Win32
• Dolibarr ERP/CRM — Open source ERP/CRM software
• Ebase — Open source constituent relationship management developed especially for non-profit organizations
• Eucalyptus — Open source cloud computing software
• Gnaural — Brainwave entrainment software
• gtkpod — iPod software
• Jitterbit Integration Server — Commercial Open Source Data and Application Integration Platform
• JSystem - Test Automation Framework
• Memtest86 — stress-tests RAM on x86 machines
• Open Scene Graph
• openlp.org — Worship presentation software for churches to display songs, bibles, movies etc.
• OpenSCDP - Open Smart Card Development Platform
• OrangeHRM — Commercial Open Source Human Resource Management
• Prey — Open Source Anti-Theft System
• Project.net — Commercial Open Source Project Management
• QEMU — CPU emulator featuring support for multiple architectures
• refbase
• Rockbox — Alternate firmware for many portable media players, such as iPods.
• Serna Free — Free Open Source WYSIWYG XML editor with cross-platform support.
• SugarCRM — Commercial Open Source Customer Relationship Management
• Sun Grid Engine — distributed batch job scheduling system
• SuperKaramba Desktop widget integration in KDE
• WINE — Windows executable support on Linux/BSD
• WinMerge — highlights differences between textual files
• XUI — Java and XML Rich Internet Application framework
• Xnee, a program that can be used to record and replay test.
• ReOS a open source web based real estate listing management application
OPEN SOURCE SOFTWARE(OSS)
application,mysql,php,perl,python
Sunday, January 2, 2011
LINUX INTRODUCTION
What is Linux?
Linux is a UNIX-based operating system originally developed as for Intel-compatible PC's. It is now available for most types of hardware platforms, ranging from PDAs (and according to some reports, a wristwatch) to mainframes. Linux is a "modern operating system", meaning it has such features as virtual memory, memory protection, and preemptive multitasking.
Why use Linux?
Reasons to Install Linux
* Configurability
* Convenience
* Stability
* Community
* Freedom
Configurability
Linux distributions give the user full access to configure just about any aspect of their system. Options range from the simple and straightforward (for instance, changing the background image) to the more esoteric (for instance, making the "Caps Lock" key behave like "Control"). Almost any aspect of the user experience can be configured.
Convenience
While Linux takes some effort to get set up, once it is set up, it is surprisingly low-maintenance. Package management can simply be a matter of running two commands in the shell. Linux also offers complete remote access. This allows the user to act exactly as if she is sitting at that computer’s desk, potentially across town or on the other side of the world.
Stability
Linux is based on the UNIX kernel. It provides preemptive multitasking and protected memory. Preemptive multitasking prevents any application from permanently stealing the CPU and locking up the machine. Protected memory prevents applications from interfering with and crashing one-another.
Community
Linux is part of the greater open-source community. This consists of thousands of developers and many more users world-wide who support open software. This user and developer base is also a support base.
Freedom
Linux is free. This means more than just costing nothing. This means that you are allowed to do whatever you want to with the software. This is why Redhat, Mandrake, and Suse are all allowed to sell their own distributions of Linux. The only restriction placed on Linux is that, if you distribute Linux, you must grant all the privileges to the code that you had, including providing the source. This prevents a corporation from using the Linux kernel as the basis for their proprietary operating system.
Linux is a UNIX-based operating system originally developed as for Intel-compatible PC's. It is now available for most types of hardware platforms, ranging from PDAs (and according to some reports, a wristwatch) to mainframes. Linux is a "modern operating system", meaning it has such features as virtual memory, memory protection, and preemptive multitasking.
Why use Linux?
Reasons to Install Linux
* Configurability
* Convenience
* Stability
* Community
* Freedom
Configurability
Linux distributions give the user full access to configure just about any aspect of their system. Options range from the simple and straightforward (for instance, changing the background image) to the more esoteric (for instance, making the "Caps Lock" key behave like "Control"). Almost any aspect of the user experience can be configured.
Convenience
While Linux takes some effort to get set up, once it is set up, it is surprisingly low-maintenance. Package management can simply be a matter of running two commands in the shell. Linux also offers complete remote access. This allows the user to act exactly as if she is sitting at that computer’s desk, potentially across town or on the other side of the world.
Stability
Linux is based on the UNIX kernel. It provides preemptive multitasking and protected memory. Preemptive multitasking prevents any application from permanently stealing the CPU and locking up the machine. Protected memory prevents applications from interfering with and crashing one-another.
Community
Linux is part of the greater open-source community. This consists of thousands of developers and many more users world-wide who support open software. This user and developer base is also a support base.
Freedom
Linux is free. This means more than just costing nothing. This means that you are allowed to do whatever you want to with the software. This is why Redhat, Mandrake, and Suse are all allowed to sell their own distributions of Linux. The only restriction placed on Linux is that, if you distribute Linux, you must grant all the privileges to the code that you had, including providing the source. This prevents a corporation from using the Linux kernel as the basis for their proprietary operating system.
Application of Open Sources
1. Accounting
2. Content Management Systems
3. CRM (Customer Relationship Management)
4. Desktop Environments/ Shell replacements
5. Email Clients
6. Encoding, Conversion & Ripping Tools
7. ERP
8. Filesharing & FTP
9. Graphics-Design & Modeling Tools
10. Messengers & Communication Clients
11. Project Management
12. Reporting Tools
13. RSS
14. Web Browsers
2. Content Management Systems
3. CRM (Customer Relationship Management)
4. Desktop Environments/ Shell replacements
5. Email Clients
6. Encoding, Conversion & Ripping Tools
7. ERP
8. Filesharing & FTP
9. Graphics-Design & Modeling Tools
10. Messengers & Communication Clients
11. Project Management
12. Reporting Tools
13. RSS
14. Web Browsers
advantages and disadvantages of opensource
1. Core software is free
If you're just getting started in online business, cost can be a major factor. Using Open Source software can really cut down on your initial capital outlay. It's also my firm belief that the Open Source community has helped to rein in prices on commercial software over the years.
2. Evolving software
As mentioned, some Open Source software projects can have huge communities of programmers involved, allowing for the rapid implementation of new features and security fixes. The communities of users and programmers are also invaluable resources for asking questions relating to troubleshooting and suggesting enhancements.
3. Encourages hands on
When you're short on cash, you are more than likely to want to make modifications to software yourself. I'm no programmer, but the use of Open Source software has encouraged me to go beyond the user interface; to dig into code to try and understand what it does and to make minor edits. As a business owner, it doesn't hurt to understand a little of the voodoo that goes on behind the scenes in the software you use on your site.
4. Not tied to a single vendor
If you purchase a commercial application, you can then become reliant on a single company to solve your problems and maintain the software - which can also be very expensive. Some commercial software companies may only provide support and upgrades for a limited time before you need to fork out for any further enhancements or assistance.
5. Greater Security & Quality
Open source software is available publicly. A large amount of developers globally contribute and analyze the code making it more secure and constantly increasing the quality. The peer review process drive excellence in design.
Disadvantages of using Open Source
There's a flip side to everything, and in the case of Open Source software it all boils down to the old saying of "there's no such thing as a free lunch". Most of the disadvantages only apply if you're not somewhat code-savvy and willing to get your hands dirty:
1. Mostly used commercial applications.
2. Projects can die
3. Support issues
If you're just getting started in online business, cost can be a major factor. Using Open Source software can really cut down on your initial capital outlay. It's also my firm belief that the Open Source community has helped to rein in prices on commercial software over the years.
2. Evolving software
As mentioned, some Open Source software projects can have huge communities of programmers involved, allowing for the rapid implementation of new features and security fixes. The communities of users and programmers are also invaluable resources for asking questions relating to troubleshooting and suggesting enhancements.
3. Encourages hands on
When you're short on cash, you are more than likely to want to make modifications to software yourself. I'm no programmer, but the use of Open Source software has encouraged me to go beyond the user interface; to dig into code to try and understand what it does and to make minor edits. As a business owner, it doesn't hurt to understand a little of the voodoo that goes on behind the scenes in the software you use on your site.
4. Not tied to a single vendor
If you purchase a commercial application, you can then become reliant on a single company to solve your problems and maintain the software - which can also be very expensive. Some commercial software companies may only provide support and upgrades for a limited time before you need to fork out for any further enhancements or assistance.
5. Greater Security & Quality
Open source software is available publicly. A large amount of developers globally contribute and analyze the code making it more secure and constantly increasing the quality. The peer review process drive excellence in design.
Disadvantages of using Open Source
There's a flip side to everything, and in the case of Open Source software it all boils down to the old saying of "there's no such thing as a free lunch". Most of the disadvantages only apply if you're not somewhat code-savvy and willing to get your hands dirty:
1. Mostly used commercial applications.
2. Projects can die
3. Support issues
Sunday, December 19, 2010
Introduction to Open Sources or The principles of Open Source Software
Open source doesn't just mean access to the source code. The distribution terms of open-source software must fulfill with the following criteria:
1. Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
2. Source Code
The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
4. Integrity of the Author's Source Code
The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.
5. No Discrimination against Persons or Groups
The license must not discriminate against any person or group of persons.
6. No Discrimination against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
7. Distribution of License
The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
8. License Must Not Be Specific to a Product
The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
9. License Must Not Restrict Other Software
The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
10. License Must Be Technology-Neutral
No provision of the license may be predicated on any individual technology or style of interface.
1. Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
2. Source Code
The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
4. Integrity of the Author's Source Code
The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.
5. No Discrimination against Persons or Groups
The license must not discriminate against any person or group of persons.
6. No Discrimination against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
7. Distribution of License
The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
8. License Must Not Be Specific to a Product
The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
9. License Must Not Restrict Other Software
The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
10. License Must Be Technology-Neutral
No provision of the license may be predicated on any individual technology or style of interface.
SOURCES OF OSS
The ideals and philosophy of open source is threatened by the 'marriage of convenience' of open source with the commercial world, which makes a strong case for the traditional free software movement. It is, perhaps, taking the adage 'making a case to the commercial world' too far. Eventually, there may such a blend of both the open source movement and the commercial world that we are not able to distinguish between the two. The enemy would have sneaked in unawares and made sport of all ideals and philosophies of the open source movement.
These are all valid concerns that the open source community needs to address. In closing I have a word of advise for the open source movement from my grandmother which I find appropriate - If you don't know where you're going, remember where you're coming from.
Sources
1. Wikipedia Encyclopedia
2. Open Source Initiative
3. The Free Software Foundation
4. The Apache Software Foundation
5. Richard M. Stallman in "Open Sources: Voices from the Open Source Revolution"
6. John Udell "Open Source Citizenship".
These are all valid concerns that the open source community needs to address. In closing I have a word of advise for the open source movement from my grandmother which I find appropriate - If you don't know where you're going, remember where you're coming from.
Sources
1. Wikipedia Encyclopedia
2. Open Source Initiative
3. The Free Software Foundation
4. The Apache Software Foundation
5. Richard M. Stallman in "Open Sources: Voices from the Open Source Revolution"
6. John Udell "Open Source Citizenship".
licensing of OPENSOURCE SOFTWARE
Further, any derivative work need not be free and one can charge for it as you would for proprietary software.The subtle licensing criteria between open source generally and free software is further highlighted when you consider that some licenses are not compatible. For instance, programs/source code distributed under PHP License is not compatible with GNU GPL since GNU GPL is a copyleft license. Which raises a couple of licensing issues:
(1)Why are there different criteria under different licenses for open source software? Presently, there are about 54 licenses certified by OSI as open source - a tribute to OSI's philosophy - which many now see as an unnecessary proliferation of licenses, an issue that forced OSI to admit that -"OSI's approach on the development and distribution problems involved building as many different bridges as possible between developers and the corporate world. In doing this, we accepted a proliferation of new licenses. This is a problem in that although physical bridges between communities don't interfere with each other, licenses do. Interference between different open-source licenses is now perceived as a sufficiently serious problem that OSI has become as a victim of its own earlier success."
To address the issue of proliferation, OSI plans to take all existing OSI approved licenses and group them into three tiers: (i) preferred, (ii) recommended but not preferred, and (iii) not recommended. This is likely to create more confusion. One would then ask why an OSI certified license would be OSI "not recommended" license. Would a 'not recommended' tag not be deemed as de-approval (though OSI says its not). It would be 'preferable' not to have certified such license as OSI approved in the first place.
(2) Why are some licenses not compatible with others? We may well appreciate that compatibility goes beyond the issue of license proliferation. For example, the FSF considers all versions of the Apache License incompatible with Version 2 of the GNU GPL. About version 2.0 of the Apache License, they say:
"The Apache Software License is incompatible with the GPL because it has a specific requirement that is not in the GPL: it has certain patent termination cases that the GPL does not require. (We don't think those patent termination cases are inherently a bad idea, but nonetheless they are incompatible with the GNU GPL.)"
Apache Software Foundation (ASF), which publishes the Apache License, has adequately replied to FSF's statement, stating that ASF does not share the same goals as FSF. For the time being, the controversy rages on. Compatibility is really a relationship issue; free software movement and the open source movement can be likened to two political camps within the free software community. While it can be argued that GNU GPL is not compatible with a number of licenses because the philosophy behind GNU GPL is freedom - which proponents of free software have cried themselves hoarse from the rooftops for decades now - GNU GPL itself publishes a list of free/open source software licenses that are GPL incompatible, distinguishing between non-copyleft and 'not strong copyleft'. Even, copyleft licenses like xinetd have also not been spared and was held incompatible because it places extra restrictions on redistribution of modified versions that contradict the redistribution requirements in the GPL. Don't they share the same goals? Yet the free software movement has complained that to be lumped together with open source software is restrictive for free software since open source software allegedly has a much weaker criterion than free software. Then one may ask, what is the criteria for determining compatibility with GNU GPL even for copyleft free software licenses? At least FSF is not intending to classify licenses in the same manner as OSI - for now.
(3) Don't some of these licenses support a 'one way' street attitude described by John Udell in the Open Source Citizenship where developers are encouraged to take and not give back to the community. Or it could be akin to the situation described by Stallman where commercial developers invited to the "Open Source Developers Day" meeting in August 1998 said they intend to make only a part of their work free software (or open source) since the focus of their business is on developing proprietary add-ons (software or manuals) to sell to the users of the free software. According to Stallman, those developers requested that this should be regarded as legitimate, as part of the community, because some of the money is donated to free software development. Whichever way you look at it, it is a dangerous trend for the future of open source software.
(1)Why are there different criteria under different licenses for open source software? Presently, there are about 54 licenses certified by OSI as open source - a tribute to OSI's philosophy - which many now see as an unnecessary proliferation of licenses, an issue that forced OSI to admit that -"OSI's approach on the development and distribution problems involved building as many different bridges as possible between developers and the corporate world. In doing this, we accepted a proliferation of new licenses. This is a problem in that although physical bridges between communities don't interfere with each other, licenses do. Interference between different open-source licenses is now perceived as a sufficiently serious problem that OSI has become as a victim of its own earlier success."
To address the issue of proliferation, OSI plans to take all existing OSI approved licenses and group them into three tiers: (i) preferred, (ii) recommended but not preferred, and (iii) not recommended. This is likely to create more confusion. One would then ask why an OSI certified license would be OSI "not recommended" license. Would a 'not recommended' tag not be deemed as de-approval (though OSI says its not). It would be 'preferable' not to have certified such license as OSI approved in the first place.
(2) Why are some licenses not compatible with others? We may well appreciate that compatibility goes beyond the issue of license proliferation. For example, the FSF considers all versions of the Apache License incompatible with Version 2 of the GNU GPL. About version 2.0 of the Apache License, they say:
"The Apache Software License is incompatible with the GPL because it has a specific requirement that is not in the GPL: it has certain patent termination cases that the GPL does not require. (We don't think those patent termination cases are inherently a bad idea, but nonetheless they are incompatible with the GNU GPL.)"
Apache Software Foundation (ASF), which publishes the Apache License, has adequately replied to FSF's statement, stating that ASF does not share the same goals as FSF. For the time being, the controversy rages on. Compatibility is really a relationship issue; free software movement and the open source movement can be likened to two political camps within the free software community. While it can be argued that GNU GPL is not compatible with a number of licenses because the philosophy behind GNU GPL is freedom - which proponents of free software have cried themselves hoarse from the rooftops for decades now - GNU GPL itself publishes a list of free/open source software licenses that are GPL incompatible, distinguishing between non-copyleft and 'not strong copyleft'. Even, copyleft licenses like xinetd have also not been spared and was held incompatible because it places extra restrictions on redistribution of modified versions that contradict the redistribution requirements in the GPL. Don't they share the same goals? Yet the free software movement has complained that to be lumped together with open source software is restrictive for free software since open source software allegedly has a much weaker criterion than free software. Then one may ask, what is the criteria for determining compatibility with GNU GPL even for copyleft free software licenses? At least FSF is not intending to classify licenses in the same manner as OSI - for now.
(3) Don't some of these licenses support a 'one way' street attitude described by John Udell in the Open Source Citizenship where developers are encouraged to take and not give back to the community. Or it could be akin to the situation described by Stallman where commercial developers invited to the "Open Source Developers Day" meeting in August 1998 said they intend to make only a part of their work free software (or open source) since the focus of their business is on developing proprietary add-ons (software or manuals) to sell to the users of the free software. According to Stallman, those developers requested that this should be regarded as legitimate, as part of the community, because some of the money is donated to free software development. Whichever way you look at it, it is a dangerous trend for the future of open source software.
Subscribe to:
Posts (Atom)