Best Free and Open Source Software – Development

Last Updated on May 13, 2024

Programming Software
Linux provides everything a developer could want in the coding department.
APIAPI Documentation Browsers - Easy access to a huge database of documentation, API manuals, and code snippets.
Build SystemsBuild Systems - Build automation is the process of automating the creation of a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests.
CompilersCompilers - A compiler is software that transforms source code written in a computer language (the source language) into another computer language (the target language, often having a binary form known as object code).
Continuous DeliveryContinuous Delivery Systems - Continuous delivery (CD) is a software engineering approach in which developers produce software in short cycles, ensuring that the software can be reliably released at any time.
Continuous IntegrationContinuous Integration Systems - Continuous integration (CI) is the practice of merging all developers’ working copies to a shared mainline several times a day.
DebuggersDebuggers - Debugging is the process of finding and reducing the number of bugs in computer software and electronic hardware. When a program crashes, the debugger shows the position in the original code. A good debugger plays an essential role in software development.
Documentation GeneratorsDocumentation Generators - A documentation generator is a programming tool that generates documentation intended for programmers and end users, from a set of commented source code files, and in certain cases, binary files.
GitGit Clients - Git is an open source distributed version control system which was originally designed by Linus Torvalds, the creator of Linux, in 2005 for Linux kernel development. We cover the best graphical and console based clients.
Web based gitGit Clients (Text-Based) - Git is an open source distributed version control system which was originally designed by Linus Torvalds, the creator of Linux, in 2005 for Linux kernel development. We examine text-based clients for Git.
GitGit Tools - We examine command-line tools that extend functionality for Git. These are very useful utilities to help you manage Git repositories.
GUI PrototypingGUI Prototyping Tools - These tools let designers and clients collaborate more efficiently. Clients experience a visual overview of what is actually going to be developed.
IDEIntegrated Development Environments (IDEs) - An integrated development environment (IDE) (sometimes known as an integrated design environment or integrated debugging environment) is a software application that provides comprehensive facilities to programmers for software development.
JavaScript EnginesJavaScript Engines - Turn plain text script into executable code. In other words, the engine is a container in which you run your program.
JSON ToolsJSON Tools recommends tools for reformatting, validating, and parsing JSON, a standard, popular and lightweight data text-oriented format based on JavaScript object syntax to represent structured data.
Lightweight Markup LanguagesLightweight Markup Languages - A lightweight markup language is a modern system for annotating a document in a way that is syntactically distinguishable from the text, and designed with a simple readable syntax.
Mobile Application Development FrameworkMobile Application Development Frameworks - Mobile application development is the process by which software is created for handheld devices. This article focuses on tools which help developers create applications for mobile phones.
Object Relational MappingObject-Relational Mapping - C#, Java, JavaScript, Python, TypeScript: Object–relational mapping is a programming technique for converting data between incompatible type systems using object-oriented programming languages.
PDF Development LibrariesPDF Development Libraries - The purpose of this article is to recommend free and open source PDF development libraries.
Programming Tools for KidsProgramming Tools for Kids - Stripping away the complexity, the programming languages and associated tools featured in this article aim to create new ways of helping students create projects that appeal to younger minds.
Python IDEPython IDEs - One of the essential tools for a budding Python developer is a good IDE. We showcase the best IDEs for Python.
Python Application DevelopmentPython Application Development (CLI) - We explore 10 Command-Line Python tools.
Python ShellsPython Shells - Exploratory programming with its interactive shell. There are some excellent alternative Python shells that extend on the basic shell. They each offer a good interactive Python experience.
Revision ControlRevision Control Applications - Essential tools for programming collaboration. Version control systems play an essential role for developers.
Programming LanguagesProgramming Languages to Shake up the Mix? - Newfangled programming languages each of which approaches programming in a fresh, modern way.
Test AutomationTest Automation - A test automation framework is a set of best practices, assumptions, common tools, and libraries that help quality-assurance testers assess the functionality, security, usability, and accessibility of multiple web and mobile applications.
Unified Modeling Language ToolsUnified Modeling Language Tools - Unified Modeling Language (UML) is a general-purpose, modeling language designed to provide a standard way for visualizing, specifying, constructing, and documenting the artifacts of distributed object systems. It’s the industry standard modeling language for software engineering.
Web FrameworksWeb Frameworks: C, C++, Clojure, Crystal, D, Dart, Elixir, Erlang, F#, Groovy, JavaScript, Julia, Kotlin, Lisp, Lua, Nim, OCaml, Perl, PHP, Python, Ruby, Rust, Rust (Frontend), Scala, Swift - A framework “is a code library that makes a developer’s life easier when building reliable, scalable, and maintainable web applications” by providing reusable code or extensions for common operations. By saving development time, developers can concentrate on application logic rather than mundane elements.
Web FrameworksWeb Microframeworks: Java, Python, Rust - Micro means the framework is small, with little or no tools and libraries. Microframeworks are designed with extensibility in mind. They provide an essential set of features and rely on extensions to do the rest. Microframeworks have the advantage of making no or fewer decisions for you, making it easy to start development.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments