Open source software distribute code that is designed to be publicly accessible.
In the idea that, anyone can see, modify, and distribute the code as they see fit (there are restrictions, see the presentation below)
Open Source software is developed in a decentralized and collaborative way.
It rely on a community of developers and sometimes of users where everyone use his skills for the good of the project.
Open Source software is often cheaper and allow customisation being more flexible.
Its longevity is assured by that it doesn't usually depends on one company or a handful of developers but rather a community.
Open Source has become a model and a "way" of working together that reaches beyond software production.
Open Source software to focus on solving problems and recycling software using new ways in their communities and industries.
I offer several services to support and help individual and companies the best possible way.
I also propose ready-to-use solutions you can use and customize for your own project.
Click on the button to enhance the presentation using a Tiki slideshow
Presentation Open Source software
The software created is distributed with its source code and is released under a license that allows anyone to use and modify it.
The idea of making source code freely available originated in 1983 while the official starting point is the creation of the Open Source Initiative in 1998. It is a 30 years effective model that has revolutionized the software development industry. It accelerate developers integration and formation and allow new technologies to be deployed fasters among users.
- Unlimited group can create their own solution or software
- It is not needed to recreate the wheel (open source recycling)
- It allows using others Open Source project or individual components.
- Open-source software is non-proprietary software that encourage collaboration
- Code is readable and can be analysed to prevent security issues
The cost of open-source software is not zero but it is for a fraction of the cost and time of traditional software development and maintenance.
Open source is not anarchy, there are several type of licence to manage the usage of an open source code.
How does Open Source software work
Open Source Software code is usually stored in a public repository and shared publicly. Anyone can access the repository, sometimes under certain conditions, to view, use and reuse the code independently or contribute by sharing (committing) their code and improvements to the design and functionality of the overall project. Different releases process and version cycle insure the production of finalised version and the Quality Control of the code distributed outside the developer's community.
Open Source Software usually comes with a distribution license. This license includes terms that define how developers can use, study, modify, and most importantly, distribute the software.
- MIT License
- GNU General Public License (GPL) 2.0 - more restrictive, requires that copies of modified code are made available for public use
- Apache License 2.0
- GNU General Public License (GPL) 3.0
- BSD License 2.0 (3-clause, New or Revised) - this is less restrictive
When source code is modified, the package delivered must include what was altered as well as the methods involved. Depending on the license terms, the software resulting from these modifications may or may not be required to be made available for free.
Open Source Software examples
Open Source software are very popular and used in all domains. Among the most popular are:
- Mozilla Firefox (internet browser)
- VLC (media player)
- Linux (operating system)
- LibreOffice (office applications suite)
- Gimp (graphics editor)
- Tiki Wiki CMS Software (content and data management system, online office suite)
- BigBluebutton (virtual classroom software)
- Notepad++ (text editor)
- Jitsi Meet (video conferencing software)
- Audacity (digital audio editor and recording)
- Bittorent (peer-to-peer file sharing)
- Docker (developers platform)
- Python (programming language)
- PHP (scripting language)
Pro and cons of Open Source model
While some elements may be disputable the Open Source software has been a powerful engine to innovation of our life 2 decades
- It is Cost-Effective (pay per request)
- Security and transparency (availability of Source Code)
- You are in charge (full control is possible)
- Improvements are easier to integrate
- Quality of code (facts are here)
- No vendor dependence
- Reusability and recyclable code
- More brains bring more ideas and solutions
- Attention to the software is required
- Hard to find training
- Insufficient documentation
- Various quality of user-interface
- Compatibility issues with proprietary software
- Liabilities and warranties are limited
- No one to blame (but the decision maker)
Open Source software has many and different interface, colours or names for the same things. This multitude of ways tend to diminish as "standards" and guideline are constantly added by the Open Source community. When you install a proprietary software in your company or organisation problems "simply" exists and people hope for a possible fix in the next version.
With Open Source software it is possible to report issues to the project community and to take care of the problems, "you are "the next version. Lack of training and documentation is manageable internally by dedicating people to collaborate in the Open Source software project and integrate its community.
What is and does an Open Source community
Community "style" depend of the Open Source project nature and objectives. Project administrators have to understand and guide the community actions and engagements in a way it benefit to the project (and don't slow it down).
"Contained" Open Source project success lies in a few individuals and good QA management
A little number of core developers can do very well for a very specific solution deployed in controllable environment. By using existing components and with additional trained personal to provide internal or external support, organisations successfully provides services all around the world.
"Wide" Open Source project success lies in community management
Those dynamic project needs more developers and a large base of community members, "little-hands", in skilled in various area.
- Encourage more developers to join the effort
- Encourage more users to use (marketing like)
- People to test and report correctly (bug fixes and QA)
- Consultant to support and help others (deployment, configuration and Training)
- Eventually individuals or companies to donate
You need to establish community rules, guidelines, contribute to have tools to discuss, meet and report issues and find how to feed them
Open Source community management
Community style depend of the Open Source project nature and objectives. Project administrators have to understand and guide the community actions and engagements in a way it benefit to the project (and don't slow it down).
"Contained" Open Source project success lies in a few individuals and good QA management
A little number of core developers can do very well for a very specific solution deployed in controllable environment. By using existing components and with additional trained personal to provide internal or external support, organisations successfully provides services all around the world.
"Wide" Open Source project success lies in community management
Those dynamic project needs more developers and a large base of community members, "little-hands", in skilled in various area.
- Encourage more developers to join the effort
- Encourage more users to use (marketing like)
- People to test and report correctly (bug fixes and QA)
- Consultant to support and help others (deployment, configuration and Training)
- Eventually individuals or companies to donate
You need to establish community rules, guidelines, contribute to have tools to discuss, meet and report issues and find how to feed them
The Tiki project
This project is a web based software generator, a toolbox, to allow developers, configurators or users to create tailored micro applications. It is based on recognized technologies (PHP, MySQL, Javascript ElasticSearch, Smarty, Bootstrap, etc) as well as innovative and relatively new technologies (Rubix AI, VueJS, Manticore search, Cypth, etc).
The Tiki project and software initiative started in 2002 and they were more than 100 versions released.
Based on a Wiki model to manage unstructured data, it has evolved into a structured model data and many additional functionalities were added by different individuals or groups as anyone can contribute into the code.
The software has been designed for beginners and advanced users, should they be individual or a collectivity and all the editing tools focus on collaboration and teamwork with an additional control layer to manage submissions, staging and approval functions.
With zero programming skills, you can assemble your solution. The software allows fast and easy customisation through advanced tolls to allow fully designed solution making him a perfect companion to design prototypes or tailor made solution in short time.