At its core, TinyMCE is open source, and has always been open source. We have a thriving community, and have grown to become the most trusted open source rich text editor worldwide.
Here’s an astounding stat on worldwide open source projects. Ninety percent of IT leaders use enterprise open source software. Bet you’d never have guessed that one!
Since its small beginnings in the 1990s, the quality and quantity of open source software (OSS) communities has astronomically increased. Open source software now runs devices ranging from the smallest wristwatches through to ones carried in our pockets and bags, and all the way up to the giant, core infrastructure that keeps the internet going.
Open source since birth
TinyMCE’s core editor has been available as open source software since TinyMCE 1.0 was released (by MoxieCode) in 2004. Our commitment to those open source roots, has remained consistent – despite new licensing models and technologies like version control, now being widely adopted.
TinyMCE has and always will remain open source first.
As the world’s most popular open-source WYSIWYG, TinyMCE empowers content creators across the globe to more easily produce content. How? It removes the headache and pain of building an open source WYSIWYG solution from scratch.
What is open source software?
Open source software has source code that’s open and available to users. Depending on the individual license, anyone can copy, modify, and distribute the source code. There aren’t any limits on downloads or installations, and you can use the code however you want, including customizing the software to suit you or create something entirely new.
The alternative to “open source” is “closed source”, which means that the software license stops users from viewing the code and places restrictions on how the program can be used and modified.
When did open source begin?
Open source first flickered into prominence in the 1970s, because of a proprietary printer paper jam. A team at MIT modified the printer driver so that it would broadcast a warning message when jammed. However, there was no way for the message to be transmitted to a wider audience, due to the restrictive rules of proprietary software.
Back in the late 1970s and 1980s, software source code was provided when a product was purchased. However, Non-Disclosure Agreements restricted that source code movement and freedom. Therefore, there was no easy way to get a change through for everyone to use – this situation is now unthinkable, compared to today’s open source software standards.
The GNU manifesto grew from this discontent and constraints placed on software solutions. By early 1985, the Free Software Foundation launched.
Later, in 1991, the first version of the open Linux Operating System launched as a small number of files written in C language. It launched to the world with a licence prohibiting any kind of commercial sale of the source code.
In 1992, the 386BSD – that’s Berkeley Software Distribution (BSD) – also launched. The project no longer continues today, but several other open source projects grew from it – like FreeBSD, OpenBSD, and NetBSD to name a few. It’s important to know that many open source projects were simultaneously developed in parallel, during the last decade of the 20th century.
It began with the development of open and free operating systems. Today, open source software has transformed itself and is now seeing strong growth in edge computing – Artificial Intelligence (AI), and Machine Learning (ML).
How does open source work?
The code is stored in a public repository that anyone can access. The process relies on peer reviews and community production to keep the code current. Contributor Guides and Codes of Conduct enforce code standards that contributors need to follow, if they want to make a useful contribution.
Contributions are reviewed. The process can take several months, or only a few days, depending on the size of the community, the complexity of your contribution, and the severity of the code change. Usually, an organized open source project uses a clear tagging system to nominate which issues and bugs are high priority.
A change usually requires an understanding of the industry standard – version control software – usually through GitHub. This creates a clear history of changes, and allows open source projects to operate in public with complete transparency. Not all communities need to have a public facing component, however, especially if a business model and product development has an open source component alongside an enterprise or paid feature component.
Why isn’t all software open source?
While open source is great, many software companies rely on selling paid licenses to their products in order to stay commercially viable, pay developers, and invest in new updates.
Not only this, but support options may be limited. While there are often big communities behind popular open source software, you can’t always guarantee that someone will provide a resolution when you need it. If you need a reliable support team you can call on, you’ll probably want to opt for the paid option, regardless of whether the software is open or not.
Tiny’s CEO, Andrew Roberts, has written a great overview of open source models, including the open core business model that we operate under.
Why do some developers prefer open source software?
Open source isn’t right for every developer, user, or situation, but it is a population option. Many developers like that open source software gives them more control. Depending on the license, they’ll be able to read and change the code, and use the software however they want.
Because open source software is free, it’s also accessible to more people. For example, students can access the code to learn new skills as a software developer, with GitHub reporting that 1.7m students have learned to code using the platform, and 31k teachers have used GitHub in their courses since 2012. And unlike expensive alternatives (or SaaS programs with ongoing fees), it’s more accessible to freelancers, small businesses, and anyone who doesn’t have a budget to spend on software.
Some developers also prefer open source because they know that even if the original creators no longer update the software, they or the community will still be able to access it, and even contribute to the code. This can also provide a measure of security (even while the original authors are involved), because it’s more likely that someone in the community will find errors in the code. A community contributor may even provide a fix or update faster than the original authors. For example, GitHub reported that 20m+ issues were closed from October 2018 to September 2019. That’s a lot!
Can open source help with developer productivity?
Yes, in fact the adoption of open source software solutions shows a positive impact on innovation according to a McKinsey report on developer velocity. The report found software development businesses that adopted open source, had a threefold increase in their innovation and building of new products, as compared to software businesses that did not include any open source projects in their work.
Incorporating an open source project or component – rather than developing the same solution yourself – can save significant time and resources.
Open source also plays a role in Product-led Growth strategies that incorporate freemium (and/or free trial) models of business. Open source models typically involve a community that builds around the open source core version of a product, so any improvements the community makes deliver immediate value to other users.
Paid versions (or subscriptions) of open source products can provide features more useful to large businesses, including 24/7 user support, and even designing a tailored software solution from an architect. Any improvements made to the paid version of the product can further enrich the open source version, which enriches the community by providing new software features to work on.
Is open source secure?
Yes. A key result from Red Hat’s open source survey was that 87% of experts believe open source is as secure, or more secure when compared to proprietary software.
Community based projects are generally more transparent about security vulnerabilities, and therefore can find solutions more quickly. They also use the strength of small groups working on software projects, which can produce greater innovation, as compared to proprietary software.
How does open source licensing work?
OSS projects usually come with a distribution license. This license outlines how the developer can use, modify and distribute the code.
There are two main types of licenses: copyleft and permissive. Both types allow anyone to copy, modify and redistribute the code. However, there are differences.
Permissive licenses (MIT, Apache 2.0, BSD) allow developers to add their copyright information to the code. Copyleft licenses (GNU), however, tie the developer to the original license. This means developers cannot make copyright claims on derivatives of the original code.
Popular open source license types
Here are some of the most popular open source licenses:
- GNU General Public License (GPL)
- Apache License
- BSD Licenses
- MIT License
- GNU Lesser General Public License
- Microsoft Public License (Ms-PL)
- Common Development and Distribution License (CDDL)
- Eclipse Public License (EPL)
Read more about open source licenses.
Open source tools
Did you know that a large proportion of the software that supports the internet is open source? And that software developers use a large array of essential testing and deployment tools that are also open source?
The Apache software foundation has a mission to provide free and open software to serve the public good. Their Apache HTTP web server software runs on 67% of all web servers in the world. The Apache foundation provides many open source tools that are common components used in software development, and to support internet infrastructure.
Browser software is another example – Mozilla Firefox, Chromium, and Brave are examples of open source tools used everyday by millions.
Developer tools that are open source include Eclipse Che, OpenShift, Visual Studio Code, and Jenkins. Each of these tools provides something essential to the development process of planning, writing, iterating, and debugging.
Benefits of open source software
This paradigm shift in the way software is developed and distributed, is not just about free code. Several benefits make this approach worthwhile for everyone.
The most obvious benefit of publicly available code is that it’s cost effective. With proprietary software, companies are locked into a specific vendor and they must rely on the vendor for updates and support. However, open source eliminates that problem. Companies can support the code themselves without needing to pay a third-party for that support.
Proprietary software leaves very little room for enhancements. With OSS software, developers have access to the code, so they can design solutions to better fit their unique needs.
If a proprietary vendor goes out of business, you’re stuck trying to figure out how to maintain it. OSS minimizes this problem. With an active community, there is less chance for a project to be discontinued or left unattended or not maintained.
Higher quality code
OSS is created and maintained by developers worldwide. Each brings unique skills and talent to projects, all acting as overseers to ensure quality releases.
OSS comes with significant support from its community of contributors. In many cases, the problem you’re facing has already been discovered and resolved. This significantly reduces the time you’ll spend troubleshooting. Also, anyone leveraging OSS has access to documentation, guides and forums that can help address issues.
It may seem counterintuitive, that given its open nature, OSS does not present a security risk. That’s due to the transparency of the code – with so many eyes on the project, everyone can monitor the code for risks, and address problems before they’re released.
The Black Duck Auditing Service surveyed 1500 open source software projects, and found that 84% of open source projects had vulnerabilities. However, due to the open nature of the projects, these security vulnerabilities were detected, worked on, and patched much faster than is the usual practice with proprietary software.
Open source software is the ideal platform for developers to learn new skills and test their ideas. It's an opportunity to bring together the knowledge of a community, to foster innovative approaches using technology. Martin Traverso, a former Facebook engineer, says "Open source has cultivated a community of innovation that wouldn’t otherwise exist."
SaaS brands flourishing with open source
In the past 30 years, over 200 companies have started a major software business using open source as a core product. And an open source core product is not just a viable strategy for operating large-scale system providers such as Red Hat. There are also many smaller, successful companies that produce useful, open source solutions that have replaced the old inflexible, off the shelf products of yesteryear.
(Note:revenue estimates sourced from the GoTeleport Google Sheets file on open source success.)
1. MongoDB was created for sharing scalable database
The team behind MongoDB created many custom data storage projects to overcome the shortcomings of existing databases. They created a more scalable solution – for example, a database that can serve 400,00 ads per second. MongoDB’s product structure builds from the Community Edition, and then provides an Enterprise Server with additional features such as low latency, and advanced security features. MongoDB generates revenue through a subscription model, which includes support for database maintenance included in their Enterprise Server offering. Their estimated revenue in 2021 is $590M
2. Postman provides an open source solution for building an API
Right from the beginning, Postman API created its SDKs, runtime, and Collection Format as open source. They’re also a SaaS provider that’s transparent about other open source projects that they incorporate into their API building tools. Their team, business, and enterprise offering are plans that, with a subscription fee, supports organisations who need the Postman API product at scale. Their estimated revenue is $200M.
3. Gitlab employs an open source model to provide the best DevOps
Gitlab is a large scale DevOps provider. The Community tier includes all the features needed to run a successful open source project, including a Static Site Editor, Preview Changes, Design Management, WYSIWYG Editing, and CI plus CD. They also offer an Enterprise DevOps platform that aims to support businesses that require private repositories to protect their intellectual property. Through the Enterprise and Ultimate plans, Gitlab generates income from subscriptions, in addition to add-ons that can be included in a subscription as needed. Gitlab’s estimated revenue is $437M.
4. Elastic has created powerful search software
Apache Lucene, an open source search engine library, provided the foundation for the Elasticsearch software. The project was open source from the beginning, and provides standard and enterprise pricing levels to support the needs of different organizations. Elastic notes that as more and more contributors scrutinize their search software code, any security problems are rapidly identified and patched. Elastic’s estimated revenue is $500M.
5. Mulesoft designed and launched integration software
Mulesoft’s API connects together different software (usually productivity tools used in a professional setting), to allow for an easier and seamless flow of tasks. There are a variety of integrations and use cases possible with the Mulesoft API integration platform. Mule Enterprise Service Bus (ESB) is the world’s most widely adopted integration API, and also provides an open source solution, with some ESB products under a Common Public Attribution licence. The Software is sold on a subscription basis to businesses that require large scale integration. Mulesoft’s estimated revenue is $246M.
Open source projects making an impact on the world
It’s not just corporations that benefit from open source code. There are also plenty of other projects using open source code, that aim to make a real difference in the world. In fact, the altruistic nature of many open source projects embody the overarching OSS values of transparency, collaboration and giving, and lend themselves to change-making efforts.
The Blind Communicator app is a tool that enables visually impaired individuals to interact with their mobile devices using gestures and swipes.
The app provides audible feedback to guide the user as they navigate the screen. The app also uses Text-to-Speech to read web pages and links to users. The voice guide tells what navigation options are available on the screen.
Anyone living with diabetes knows the challenges of keeping track of their readings. The problem is even more pronounced when trying to integrate data from different devices. Tidepool eliminates that problem. It’s OSS that allows individuals with diabetes and medical professionals to combine and analyze data from diabetes devices.
Users of the software have a dashboard that stores information, which can be shared with their doctor. This feature ends the need for patients to go to the office to provide updates. Features of the dashboard include:
- Viewing values from blood sugar meters, continuous glucose monitors and carbohydrate amounts from insulin pumps
- View data at daily or weekly views
- Analyze trends in data over a customizable timeframe
- Enter notes to provide more details for each reading
Along with the information being shared with their medical care team, Tidepool also allows users to share it with caregivers, friends and family. It’s compatible with several popular devices including:
The app also integrates with Apple Health to manage readings from your smartphone.
SignDict founders realized the importance of a comprehensive sign-language dictionary. The goal is to provide an interactive sign language dictionary for signers and anyone who wants to learn the language.
Anyone can contribute by either adding code or adding a sign that is missing. To add a sign, contributors use their webcam to record and upload their contributions. Ultimately, the project aims to provide as many signs as possible in as many languages as possible.
OptiKey is a suite of Windows applications that allow users to communicate with a computer using only their eyes. The software was designed to help Motor Neuron Disease (MND) patients interact with their computers.
Users can perform tasks such as composing emails, writing documents and navigating the web using their eyes. It features full mouse and keyboard input control, with its core features being:
- OptiKey Symbol – This feature allows users to communicate using symbols instead of words. Instead, users use an eye-tracker to select symbols to build sentences.
- OptiKey Chat – With this feature, users can utilize a full QWERTY keyboard layout to type with their eyes.
- OptiKey Mouse – Users can complete mouse functions such as scrolling, clicking, dragging and zooming using eye gazes.
Contribute to TinyMCE’s open source
According to Tim O’Reilly, “Empowerment of individuals is a key part of what makes open source work since, in the end, innovations tend to come from small groups, not from large, structured efforts.”
It’s around this belief that Tiny’s based its business model. The TinyMCE core platform is open source, with premium features available (and priced) as add-ons. This model is what allows us to continue to innovate, while still supplying businesses with enterprise grade features as they need them.
Our GitHub repositories are the center point around which our community gathers. Here are some of the well know repositories:
- The Core editor
- Angular Integration
- React Integration
- Vue Integration
- The TinyMCE documentation
- Different TinyMCE Demos
You can submit pull requests, log any bugs you find, and open any issues to the specific repository depending on your use case.
Anyone can contribute code licensed under the LGPL license. Any changes you make, once approved, are deployed on the next deployment. Our CI process is set to publish changes and patches, twice per day.
Each of the repositories has a clear code of conduct, and a contributor guide, so you can get involved quickly. For contributions to be accepted, though, please be aware developers must complete and submit a contributor’s license agreement.
TinyMCE core editor repository
At the core of TinyMCE is the WYSIWYG rich text editor. It is a feature-packed editor, and the tool requires little to no technical knowledge to use. It automatically produces the HTML code behind the scenes, as it renders content written inside the editor.
If you want to get closer to the core of the editor, and see how it works under the hood, contributors can jump into the core editor repository, and review the TinyMCE source code. If you’re interested in Typescript, TinyMCE definitely has opportunities for you!
How to contribute to documentation
You don’t need to be a technical expert to contribute to our documentation. All you need is the ability to explain things clearly.
Want to try TinyMCE?
Not yet using TinyMCE on the Cloud? Using TinyMCE there, you’ll always be up to date with the latest build and newest features. Get started with a free API key – you’ll also get a 14-day trial of our premium plugins – and it only takes 5 minutes to set up.