Thoughtworks contributes to and uses open source software wherever possible.
We are a bit fanatical when it comes to delivering software. We’re serious about our craft and are always striving to improve the way we do things. And we like to push the industry as a whole to improve. This is a central tenet of our software excellence mission.
We believe that software quality is driven by open communication, review and collaboration. That’s why we’re such vehement supporters of open source and have been throughout our history. In 2020, Thoughtworks was rated in the top 25 contributors to GitHub by the Open Source Contributor Index.
Open source enables us to build superior solutions to those based on proprietary software in terms of cost, freedom, privacy, security, quality and community. Building open source allows us to pay it forward, share new ways of working, and learn from the wider community.
What we are building
Our technologists bring successful, field-tested techniques and ideas from around the globe to open source solutions. Here are some highlights of our work across many domains including machine learning, security and privacy, global health, continuous delivery, monitoring, testing, and software development tools.
Continuous Delivery and Monitoring
Understanding your build pipeline and continually improving it isn't always easy. buildviz provides graphs detailing runtime behavior, failures and stability of a pipeline.
Your builds should always be green. As a build monitor with attitude, Nevergreen understands this. It only shows you projects that have failed or are building.
GoCD enables you to easily model and visualize complex workflows end to end, simplifying continuous delivery. It also supports modern infrastructure and cloud deployments.
CD4ML — Scenarios is evolving to be a great starter kit for bringing machine learning projects into production; the project contains a sample application and machine learning code used for the Continuous Delivery for Machine Learning (CD4ML) and Continuous Intelligence workshop.
EmoPy is a deep neural net toolkit for facial expression analysis. It serves as an accessible educational tool and practical example of how to approach the problem of emotion classification via facial expression recognition (FER). EmoPy has generated interest with students, academics, robotic scientists and other tech consulting firms.
Isula is a Java library for the implementation of artificial intelligence algorithms based on the ant colony optimization paradigm. It contains the common elements present in the meta-heuristic to allow algorithm designers the reutilization of common behaviors. With Isula, solving optimization problems with Ant Colony can be done in a few lines of code.
TWallet is the next-generation digital wallet. It supports general payment, digital currency transfer and duplex-offline payment. With an emphasis on personal privacy issues, it introduces technologies such as decentralized identity and verifiable claims.
Security and Privacy
By hooking into the pre-push hook provided by Git, Talisman validates the outgoing changeset for things that look suspicious — such as authorization tokens and private keys.
Hawkeye scanner-cli is a project security, vulnerability and general risk highlighting tool, which integrates into pre-commit hooks and pipelines.
FreedomBox is a community project to design, develop and promote personal servers running free software for private and personal communications. The project's goals are privacy, data ownership and censorship resistance under oppressive regimes.
Bahamas Marine Mammal Research Organization (BMMRO) is a non-profit scientific research organization led by scientists finding marine mammals in and around Abaco Island, Bahamas, understanding their primary areas of habitation and using what they learn to make a difference. As a part of the conservation of biodiversity efforts within the social impact umbrella, a team of Thoughtworkers in the UK are developing an open-source web application. The vision is to build a data centric tool to help researchers promote conservation of marine mammals.
Bahmni, an easy-to-use electronic medical record and hospital management system, combines and enhances multiple open-source products into a single solution (including integration with DHIS tracker which was built in collaboration with PSI Zimbabwe). The recent Bahmni COVID-19 Program adds COVID-19-specific features.
Project EKA is an endeavour to create reference solutions for exchanging health information with patients’ consent in Indian Healthcare context. The architecture and solutions are largely inspired by the proposed National Health Stack (NHS). The team wants to improve patient care through informed decision making, clinical history assessments, treatment management and ensuring continuity of care through this initiative.
EpiRust is an open-source fast agent-based simulation framework to model epidemics in large cities. Using this framework, researchers can model diseases like smallpox, H1N1, and now COVID-19. Researchers can use EpiRust to simulate a disease model for a city with a population of up to a few million people using commodity hardware like laptops and desktops.
OpenMRS is a platform used to create a customized EMR system in response to actual needs on the ground. It serves an essential role in a country’s health information system. Data from OpenMRS is increasingly used to inform the public health decisions needed to achieve the UN Sustainable Development Goals, measure progress towards UNAIDS’ 95-95-95 targets for HIV epidemic control and achieve universal health coverage.
HardPosit is a library of hardware units that implement Posit arithmetic using Chisel, a Scala embedded hardware description language. This project is maintained by a relatively small team at E4R (Engineering for Research). It deals with a different programming paradigm all together (hardware description/digital design) and introduces a less familiar technology to the community, ultimately opening doors for new endeavors.
CCMenu displays the build status of projects on a continuous integration server as an item in the Mac's menu bar.
CommandDotNet is a framework for building modern CLI apps in .NET Core. It has integrations with multiple libraries including autofac and fluent validation.
Batect makes it easy to define and share your development and testing tasks in terms of Docker containers and run those tasks quickly and consistently locally and on CI.
Dojo creates standard development environments, versioned and released as Docker images. The tool's goal is to encourage a better approach to managing development environments as code.
Arium is an automation testing framework for 3D applications built on Unity. The framework is simple, lightweight, and extendable
Taiko is a free and open source Node.js library with a simple API to automate Chromium-based browsers (Chrome, Microsoft Edge, Opera) and Firefox.
Mountebank is the first tool to provide cross-platform, multiprotocol test doubles over the wire.
Simply point your application under test to mountebank instead of the real dependency, and test like you would with traditional stubs and mocks.
Enqueuer is an integration testing tool that supports multiprotocol flows, with an easy-to-use CLI you can add it as a CI task.
Gauge is a free and open source test automation framework that takes the pain out of acceptance testing.
Appium Test Distribution is a tool for running Android and iOS Appium tests in parallel across devices.