What is Open Source software? How is Open Source software used? What is the best Open Source software? Where is Open Source code stored? What Open Source AI is available?
Open source refers to code and software that is stored online and made available to the public to use, develop and share.
The concept of 'an Open Source' is something that has evolved with the development of the internet and computer coding. It was recognised very early on that without sharing there would be fundamental problems of competing parties and a lack of standardisation not least unfairness.
Open source means that no one has 'to reinvent the wheel' as far as the basics are concerned.
For example: with no Open Source:
- In terms of coding everyone would have to start from scratch, invent their own code, their own syntax. This lack of standardisation would mean that applications would not easily be able to interact. A bit like someone taking a car and then trying to add a lorry engine: not a lot of compataiblity in sze, output and parts!
- In terms of creating a website, if you did that without Open Source, you would have to go back to the basics: you might say, setting up a page, perhaps with tables with coloumns and rows in HTML, then you would code to style each part, then add more pages and content etc.
- If you wanted to run a content management system (CMS) you would create a database and then code that to connnect to your website.
- You would have a real diffulty making applications interact with each other.
With Open Source: you just download and set up. Most Open Source software comes with its own installers and updates.
Open source software now comes in all shapes and forms, and whilst some coding might appear quite basic, some of the software that has evolved is nothing of the kind.
- The great advantage of Open Source is that it's free: anyone can download it, develop it and then share it.
- You do not have to share what you have developed: this can be seen as being 'mean' depending on the context.
- The Open Source community are good at sharing.
- Using Open Source code and software you can then develop your own systems and processes, this means that you can add functionality and capability to your own products and services.
Storage
Open source software is stored online, and is maintained generally via donation and sponsorship.
- Code is stored online in repositories. Git is a an Open Source tool which allows developers to track changes to code and create versions. Essential when there are several developers working on a project.
- GitHub being a leading repository of Gits. You upload your code onto its platform and track changes as you go, share and develop.
A few examples of leading Open Source software and resources are as follows:
- OpenAI, MetaAI, GoogleAI
- Bsrowser - Thunderbird (noting that Google's Chrome or Microsoft's Edge are both free)
- Office software: Libroffice, a product that has a lot of the main features of Microsoft's office suite.
- Websites with Content Management Systems: WordPress, Joomla or Drupal (these are the biggest) there are many others. This one happens to be Joomla - it was created back in 2009!
- Bitcoin
- APIs (application program interfaces: what allows different resources to interact - e.g. VAT software to file with HMRC in Making Tax Digital)
There are literally hundreds of resouces appearing in the contect of AI development from platforms to synthetic data: it is a very fast moving area of computer science.
When to find Open Source software or code?
- It's free to download online: look for the site for the specific application. Be careful not to download from phishing sites.
- Join GitHub and you can search its repositories for add-ins and extras for any specific application.