Blueprint by Tiny
Return to Tiny.cloud
Return to Tiny.cloudTry TinyMCE for Free
Search by

Open source - the core of TinyMCE

Joe Robinson

November 29th, 2021

Written by

Joe Robinson

Category

Developer Insights

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 TinMCE 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 is freely available to anyone – to modify and distribute as many copies of their version as they see fit. It’s publicly accessible and is developed in a decentralized and collaborative way.

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.

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. 

The most common licenses are:

  • MIT License - Permissive
  • Apache 2.0 - Permissive
  • GNU General Public License (GPL) Copyleft
  • BSD - Permissive

Each open source licence has its own major provisions to follow. 

The GPL license requires that anyone who modifies the code and distributes a derivative must distribute the source code for their derivative work. The developer must release their changes back to the community for everyone to use.

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.

  1. Cost

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.

  1. Flexibility 

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.

  1. Long-term viability

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.

  1. 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.

  1. Support

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.

  1. Security

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.

  1. Learning opportunities 

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 MongoDB open source tool shows a business with a key difference between open source and closed source.

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

The Postman open source tool shows a business with a key difference between open source and closed source.

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

The Gitlab open source tool shows a business with a key difference between open source and closed source.

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

The Elastic open source tool shows a business with a key difference between open source and closed source.

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

The Mulesoft open source tool shows a business with a key difference between open source and closed source.

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.

  1. Blind Communicator

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.

  1. Tidepool 

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:

  • Medtronic
  • Omnipod
  • Tandem

The app also integrates with Apple Health to manage readings from your smartphone.

  1. SignDict

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.

  1. OptiKey

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:

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.

Open SourceCommunity
byJoe Robinson

Technical and creative writer, editor, and a TinyMCE advocate. An enthusiast for teamwork, open source software projects, and baking. Can often be found puzzling over obscure history, cryptic words, and lucid writing.

Related Articles

  • Developer Insights

    TinyMCE readonly mode

    by Ben Long in Developer Insights
Subscribe for the latest insights served straight to your inbox every month.

Deploy TinyMCE in just 6 lines of code

Built to scale. Developed in open source. Designed to innovate.

Begin with your FREE API Key
Tiny Editor
Tiny logo
Privacy Policy - Terms of Use© 2022 Tiny Technologies Inc.TinyMCE® and Tiny® are registered trademarks of Tiny Technologies, Inc.

Products

  • TinyMCE
  • Tiny Drive
  • Customer Stories
  • Pricing