{"componentChunkName":"component---src-templates-blog-post-tsx","path":"/how-to-contribute-open-source/","result":{"data":{"allContentfulCategory":{"edges":[{"node":{"contentful_id":"2gOurgpDj1BasZvVToN13z","slug":"tiny-sparks","title":"The Tiny Way"}},{"node":{"contentful_id":"2a3w396SgR2Fl1ep4eYu0w","slug":"product-management","title":"Product-Led Growth"}},{"node":{"contentful_id":"T7VZcLaLRpt6XlNLJPLmL","slug":"wysiwyg-world","title":"World of WYSIWYG"}},{"node":{"contentful_id":"6HNYGjOUjHzUS2gXBnMVXn","slug":"design-and-ux","title":"Content Marketing & Design"}},{"node":{"contentful_id":"6XFMYLCe4AEYIDazkjGFvb","slug":"engineering","title":"Developer Insights"}},{"node":{"contentful_id":"24ufWIsR0ImSvxvvIrutB5","slug":"open-source","title":"Open Source"}},{"node":{"contentful_id":"2fLgNI8yOMeZHNl1nSQ11","slug":"how-tos-and-tutorials","title":"How-to Use TinyMCE"}}]},"contentfulBlogPost":{"title":"How to contribute to open source: TinyMCE on GitHub","lastUpdated":"February 28th, 2022","publishDate":"2022-03-01T00:00+10:00","category":{"slug":"open-source","title":"Open Source","blog_post":[{"title":"Build a Custom Editor or Use TinyMCE? Open Source Options","slug":"tinymce-open-source-vs-building-custom-rich-text-editor","featured":true,"lastUpdated":"Mar 3rd, 2026","description":{"description":"<p>Compare open source TinyMCE with building a rich text editor using open source libraries. Learn the trade-offs between speed, customization, and maintenance.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Compare open source TinyMCE with building a rich text editor using open source libraries. Learn the trade-offs between speed, customization, and maintenance."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"Build a Custom Editor or Use TinyMCE? Open Source Options","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAMAAABI111xAAABhlBMVEUKE1QACE8AB08ABk4ABE4ABU4JElMJE1QDDFEABU8ABk8AB1EABVMABlIAB1AEDlEAAE4AAEsAAEkAAEoAAEgAAFAACVUbJlwQHVkAD1UABE8/QWNUVXBRUm5AQWRJS2lHSGhGR2dISWhYWXJTVG8oL18/Q2i5ucCPkJwAAFUIE1QEDFAAAEVnaH2WlqKQkJ1+fo6IiJeOjpuRkp6LjJmUlaGQkZ1bX3o2OmOpqbJ/gI8AAFMADlQEEVMAA09aWXKAfo6OjJl8e4uJiJWVlKCcm6WTkp1ZV28AAD4ABlUAAFIADFYABFMAAE8bSmsmbYYvZIEhX4EkXoI5YocqV4ErX4wFUocASIMAMGoAAE0MFlUADVQAAFSam6aurrYkK10AAEwAKVkATG4APmcAOWYAPmoAN2gAMGUAO28AOW8BN28CJWAAAk0HD1EDEVUHGlqwsLi/v8VARGkAA04BAk0BCE8ABVAAClUeJlslLF4ADFULE1QFDlEBCU8AAlIADFMGEFMLFFQlt3ZbAAAAhklEQVQIHWXBsQnCQBiG4e89j5xaBDVOIWltnMEtHCFYWQmCjfNYuIAI9m4gtmKTwuT3AgqSPA8S+iKqTJYQqOQlvT0ieiktGYGQZM4cjYeJyYCWm5HTcSbP+LnMUrDnGKYL2o5+SYd8dj+pdpJRrzisicSGfSjVKNTXblhc50hb/vW8D8kH8kUeJRHcPz4AAAAASUVORK5CYII=","aspectRatio":1.7824074074074074,"src":"//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=370&h=208&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=739&h=415&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=1109&h=622&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=1478&h=829&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=1925&h=1080&q=50&fit=scale 1925w","srcWebp":"//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=370&h=208&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=739&h=415&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=1109&h=622&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=1478&h=829&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/5EEn9vynp7bwccSKMY8WC/33b1508bafe551f545376279472907fa/Build_a_Custom_Editor_or_Use_TinyMCE__Open_Source_Options.png?w=1925&h=1080&q=50&fm=webp&fit=scale 1925w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Coco Poley","slug":"coco-poley"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":{"metaTitle":"Build a Custom Editor or Use TinyMCE? Open Source Options | TinyMCE"},"metaDescription":null},{"title":"Managing an open source project: steps, best practices and challenges","slug":"how-to-manage-open-source-project","featured":false,"lastUpdated":"Apr 4th, 2022","description":{"description":"<p>Learn about the steps and best practices on starting and managing an open source project, including how to manage the pitfalls and challenges open source project owners may experience.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Learn about the steps and best practices on starting and managing an open source project, including how to manage the pitfalls and challenges open source project owners may experience."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"How to do project management in open source: challenges and solutions","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":1.7767441860465116,"src":"//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=370&h=208&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=739&h=416&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=1109&h=624&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=1478&h=832&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=1528&h=860&q=50&fit=scale 1528w","srcWebp":"//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=370&h=208&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=739&h=416&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=1109&h=624&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=1478&h=832&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/1ldoL3Yzu0eEmouqLhP3qe/bc08e51bfb21cb492669fdb685be25cd/Image_TinyMCE_open_source_ProjectManagement.jpg?w=1528&h=860&q=50&fm=webp&fit=scale 1528w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Joe Robinson","slug":"joseph-robinson"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":{"metaTitle":"How to manage an open source project | TinyMCE\n"},"metaDescription":{"metaDescription":"Learn about steps and best practices on starting and managing an open source project, pitfalls and challenges open source project owners may experience."}},{"title":"Open source monetization and project income support","slug":"open-source-monetization","featured":false,"lastUpdated":"Jul 13th, 2022","description":{"description":"<p>Monetization of an open source software can help support your ongoing work. This article goes through ways an open source project can be monetized</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Monetization of an open source software can help support your ongoing work. This article goes through ways an open source project can be monetized"}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"open source and monetization words with the pipe character, but the words separated","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":1.7767441860465116,"src":"//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=370&h=208&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=739&h=416&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=1109&h=624&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=1478&h=832&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=1528&h=860&q=50&fit=scale 1528w","srcWebp":"//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=370&h=208&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=739&h=416&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=1109&h=624&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=1478&h=832&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/2oTJMpRoCBXpcnXePPKXqw/88398a54b63990a55895089827e81785/img-opensource-text-tinymce.jpg?w=1528&h=860&q=50&fm=webp&fit=scale 1528w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Joe Robinson","slug":"joseph-robinson"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":{"metaTitle":"Open source monetization: project income support | TinyMCE"},"metaDescription":{"metaDescription":"Monetization of an open source software can give your project a new perspective. This article goes through ways an open source project can be monetized"}},{"title":"Open Source License Comparison: Which One Suits Your Project?","slug":"opensource-rich-text-editor-licences","featured":false,"lastUpdated":"Apr 11th, 2025","description":{"description":"<p>Explore a comparison of popular Open Source Licenses to make the right choice for your software</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Explore a comparison of popular Open Source Licenses to make the right choice for your software"}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"Open Source license comparison: which one to choose?","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAMAAABI111xAAAB11BMVEUIElMAB08ACE8ABU4AB04AAE0ABE0AAEgAAEcAAEkHEVMJElMKE1QACE8ABk4ABU4ABE4AB08EDVEAB04ABk8AA04AAU4AAk4AAk0eJF4uM2okKmYtM2krMWksMWkqMGgzOWwzOGwoLWYIDlYAAEYAAU0ABU8ABFEAAVAhKGM7Qnk+Rns+RXs/RntBSHw3PnVFTXxncppjbZNDS3IAAEgABE0THFdARGg5PmUlL2hbZZdteahteKdmcaFZYpVCSYBdZpCcq9Ocq9R1gacAAEcAAEsoL19iY3pbXHUtOG1cZ5hveqlueahueqhseKdjbZ5aY5ZHToAvPJFlddlfb9hbatM+UMEAAFoSG1c/RGo5PmYlLmhaZJVsd6ZocqFmcaBhbJ1XZJdDToFGUI17is96ic56iMtte74OF1gAC1IABVEdI2FHU4tTYZpOWpJSXphIVIw3RHk9RHMuOW5aZY+YpsuXpcmSoMWIlbkjKVkID1EBCU8QFlYtNm83QnovOXI3QnksOHEuMWRiN0lLNFkTJmMgJmASGVYAA0wBCU4EDFEIEFEMFFIGD1AABk0AAkwNGlchJ1wSHVgAAE4AAEoAAEwACVALFFQEDFADC08CCk8AClEABE+zmrZvAAAADHRSTlP+/v7+/v7+/v7+/v7WzDArAAAAgUlEQVQIHWXBPRLBYBSG0ff5chOFMIlWaUVmLMVoLIHlKKU0SmtQ6lMR35UgM37OQTkCoZeYNF6bMg8x8btLpBBvmctoGNATrUsgmdESIN5OFgqeJHrBVPDHNKEjPlisFvyyeC35tm+Cr8vWsTjsxp1Rlc9ThtvVRiCdpylLyT3WDzyRIgR8SoF7AAAAAElFTkSuQmCC","aspectRatio":1.7833333333333334,"src":"//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=370&h=207&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=739&h=414&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=1109&h=622&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=1478&h=829&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=1926&h=1080&q=50&fit=scale 1926w","srcWebp":"//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=370&h=207&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=739&h=414&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=1109&h=622&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=1478&h=829&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/5cQ34NWiWL3hc3fwBjhQIv/5120edf3f7c5bf3a9afb70b4305e0bc7/Open_Source_license_comparison__which_one_to_choose_.png?w=1926&h=1080&q=50&fm=webp&fit=scale 1926w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Coco Poley","slug":"coco-poley"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":{"metaTitle":"Open Source License Comparison: Which One Suits Your Project? | TinyMCE"},"metaDescription":{"metaDescription":"Explore a comparison of popular Open Source Licenses to make the right choice for your software"}},{"title":"What is Open Source Software? Definition, Benefits and Key Aspects","slug":"what-is-open-source-software","featured":false,"lastUpdated":"Jan 16th, 2025","description":{"description":"<p>What is Open Source Software? Learn about its history, licenses, and why it&rsquo;s essential for modern technology and business.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"What is Open Source Software? Learn about its history, licenses, and why it’s essential for modern technology and business."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"The open source software symbol appears over a small web application frame","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAMAAABI111xAAAA6lBMVEVk86Rk9KRj9KRj9KVi9KVj86Rh9KVZ9adY9adf9KVl9KVk86Vf76pi86Sl6Iqv5oRt8qFg9KVi9KR887CV7r199LNr9bGt6Izr0znm1kbD4HNc8qNs9Klz8Kh97Kpv8qpk86y65IHR11/I3GzQ115Y86Vm86Z49LBs8KZn7qFl8KRi8aZ376CS55Ot4YSH55de86Zj7KZx8q159LB486998q529rJy97Nz9rNz9bFn86Zx9ayD8rKB87J/9bKB9LKH8a579LF276pk9KV88KyB8rF79rN69K578als86hu76Rq9Khr9Khi86OfvI+9AAAAcklEQVQIHQXBwUlDURRAwTn6AlERbCJNuLDzYAlpIgW4+CBq8q8zAaTaZ2ABDner+jEIPMxTVbX9YYG3qqq2hgU9V1W1w0KnqqqawYKX2l6rCoTW7b2q+jRYmNs6VlUNBBw+jn1fvszAI7BfT51/7wb8A1suIEuj1FaDAAAAAElFTkSuQmCC","aspectRatio":1.7824074074074074,"src":"//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=370&h=208&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=739&h=415&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=1109&h=622&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=1478&h=829&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=1925&h=1080&q=50&fit=scale 1925w","srcWebp":"//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=370&h=208&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=739&h=415&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=1109&h=622&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=1478&h=829&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/1Cnw6nZwEo4RCkSGFUGUJi/faf4e171e65302faf0032ea2f73a2a47/What_is_Open_Source_Software_.png?w=1925&h=1080&q=50&fm=webp&fit=scale 1925w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Coco Poley","slug":"coco-poley"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":{"metaTitle":"What is Open Source Software? Definition, Benefits, Key Aspects | TinyMCE"},"metaDescription":{"metaDescription":"What is Open Source Software? Learn about its history, licenses, and why it’s essential for modern technology and business."}},{"title":"Yes the TinyMCE WYSIWYG editor is free","slug":"tinymce-free-wysiwyg-html-editor","featured":false,"lastUpdated":"Mar 21st, 2024","description":{"description":"<p>Looking for a WYSIWYG HTML editor? The TinyMCE Core editor, or a paid plan with free trial, is a great place to start.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Looking for a WYSIWYG HTML editor? The TinyMCE Core editor, or a paid plan with free trial, is a great place to start."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"The TinyMCE editor emerging from space, with the Tiny logo in a simplified editor, showing Tiny is free, moving around in space","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAMAAABI111xAAABiVBMVEUUIU8TIE8SIE8WIU8VIU8eIk8YIU8SIU85JFAhIk8XIk8XIU4RIE8pLE5IQEwsLlArLVATIE4UIU4kIU4ZIU4iJ05BJVAlIk8cJ1UdKFcWIU4ZIU8lJE8mKk4YI1AeJlAdJU8IGUsAE0kAEUkAD0kVHEpLQkoPIU8VIk8XJFAXIU8iIk8vIk8rMVYtM1YhKFA0OFNCQ1c/QFNHR1gTHUoTH04lLVQeJ1EbN1cYJ1EUIk8ZI08lLFMiKlIAEkaNmLm9x+m4w+i3w+qmsto5QGMRHEocJlAdJlEZI1AbJVAkLFMdJk8AAEGUo9TL2v+wxf+zyP+SrPQULWcVHkklLVMfKFEmLVQjKlIGE0VYbqp3j9Ndfs9mhNJfe8QTJlsUHkoaI08eJk8BEkUAAD4PEz4dKUYhKkoaIUscJlEZJFAmKU4aJE8pK04bI08jKE4xL0wPHEwVH0wXIU0cJVAeJlEgJk8YKU8YKk8eJU8nKk4WH04ZMVQZLlMUH08oK04qLE4XI08XJVAUIE9BUv3eAAAAw0lEQVQIHQXBPS4EYQAA0O/NjPliw87uViqmkEyhIjoKDYU7qB1ARK9RcAKNXiIRGhcQxXYSibWNuIBks5Fs9ufznsAiF1LILGaRaRlYYZza4Lc3qkxLiorROtD11zWMG4qOYasCFnlFqNuKeW+2CwCHP++1VpgcAcBHCKEI9WDeAfAZvuuvJD+5n8TjVeBlbdvtqTzb2+lvvu7HGGMZt8ZPb+mgLw9nngfnrlMIF+Ayy5qmtRyam6sUY/NYPizdpdT8Awi/M7Ds3BIDAAAAAElFTkSuQmCC","aspectRatio":1.7824074074074074,"src":"//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=370&h=208&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=739&h=415&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=1109&h=622&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=1478&h=829&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=1925&h=1080&q=50&fit=scale 1925w","srcWebp":"//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=370&h=208&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=739&h=415&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=1109&h=622&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=1478&h=829&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/6VaRba5G8xwYCoamSRRgbw/c57e8377a34f85ad61a4e1670f88fb11/img-YesTinyMCEisfree-0.png?w=1925&h=1080&q=50&fm=webp&fit=scale 1925w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Team Tiny","slug":"team-tiny"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":{"metaTitle":"The TinyMCE WYSIWYG HTML editor is free | TinyMCE"},"metaDescription":{"metaDescription":"Looking for a free WYSIWYG HTML editor? The TinyMCE Core editor is free with a set of useful features and plugins, and even more available in a paid plan."}},{"title":"SaaS Freemium business models ","slug":"saas-freemium-business-model","featured":false,"lastUpdated":"May 17th, 2022","description":{"description":"<p>SaaS Freemium business models are reliable. Find out how they work, the existing freemium model type, and the pros and cons are of a Freemium model for your SaaS product.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"SaaS Freemium business models are reliable. Find out how they work, the existing freemium model type, and the pros and cons are of a Freemium model for your SaaS product."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"Free appears in two circles with a shadow","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAMAAABI111xAAAA2FBMVEUIFTkHFDkFEzgEEzgFFDgCEjgADDYCFDkDEzgADTYEEjgBETgNGjtDQFJMRVRJRVU6PVAJFzoAEjhOSFhJPU4TGDoNGTs7PlJJRFUDEDcAEDcmKkRSRVQ6IzI2JDU0IjYZFTVPR1YtJj8AETgADzcwMEdJPE05IzJJLTJVNDEwHTFDPlA3LUIHFTkBEjgeIz9ZTFkJFTkABDYAGjxaTVkpIDwGFDgADjc8O05LSVk1Mkg4NUlbTVpNO0kADjYFFDkoKkNGO0xLPEw4K0ECEzgADzgEFDgGFDm+TEjJAAAAd0lEQVQIHTXBsQ6CUBBFwXNxE4HGntqWb/D/belMLBWjxBYTgcfuQ2fERhKaE5nIZApjIhhBtbLvlHBG0F5Z+ZpwIjT6u+JEOOrnU3WAEWo5JN3fuIJQhsq1hB3h9mhKMxvr4YkzsjldBk6HviMUbM7tshR9R7YCkoYdyYaB4CEAAAAASUVORK5CYII=","aspectRatio":1.7767441860465116,"src":"//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=370&h=208&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=739&h=416&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=1109&h=624&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=1478&h=832&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=1528&h=860&q=50&fit=scale 1528w","srcWebp":"//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=370&h=208&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=739&h=416&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=1109&h=624&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=1478&h=832&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/1cQKrkuWtl4b7t7KOLycqz/61c6fa4f74b5f4122eb109e15fd4c3ef/Image_TinyMCE_Freemium_OpenSource.png?w=1528&h=860&q=50&fm=webp&fit=scale 1528w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Joe Robinson","slug":"joseph-robinson"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":{"metaTitle":"SaaS freemium business model: how does it work? | TinyMCE"},"metaDescription":{"metaDescription":"Learn how SaaS Freemium models work, existing freemium model types and what the pros and cons are of using a Freemium strategy for your SaaS product"}},{"title":"How to contribute to open source: TinyMCE on GitHub","slug":"how-to-contribute-open-source","featured":false,"lastUpdated":"Feb 28th, 2022","description":{"description":"<p>Learn how to contribute to open source projects, with TinyMCE as an example.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Learn how to contribute to open source projects, with TinyMCE as an example."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"Learn how to contribute to open source projects, with TinyMCE","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":1.7767441860465116,"src":"//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=185&h=104&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=370&h=208&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=739&h=416&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1109&h=624&q=50&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1478&h=832&q=50&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1528&h=860&q=50&fit=scale 1528w","srcWebp":"//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=185&h=104&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=370&h=208&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=739&h=416&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1109&h=624&q=50&fm=webp&fit=scale 1109w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1478&h=832&q=50&fm=webp&fit=scale 1478w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1528&h=860&q=50&fm=webp&fit=scale 1528w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Mike Chau","slug":"mike-chau"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":{"metaTitle":"How to contribute to open source with TinyMCE"},"metaDescription":{"metaDescription":"Open source powers most software. Learn how to contribute to open source projects with TinyMCE as an example, and about open source contributions practice."}},{"title":"Open source, a way of life at Tiny","slug":"open-source-a-way-of-life-at-tiny","featured":false,"lastUpdated":"Jan 6th, 2021","description":{"description":"<p dir=\"ltr\">At Tiny, we strongly believe in the spirit of open source software. When TinyMCE was first released back in 2004, open source had not really taken off. Today, you will be hard pressed to find software that doesn't include some type of open source component, maybe not in a release package, but in the tooling or testing frameworks at the very least.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{"dir":"ltr"},"children":[{"type":"text","value":"At Tiny, we strongly believe in the spirit of open source software. When TinyMCE was first released back in 2004, open source had not really taken off. Today, you will be hard pressed to find software that doesn't include some type of open source component, maybe not in a release package, but in the tooling or testing frameworks at the very least."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"A neon OPEN sign.","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAADX0lEQVQYGQXByU8bVxwH8O/vvWHwMvYYMAPYeMEY1+CGvZG6pMqpUi7NIZV666mHHvp3VOq96qE95NBDpOaSpqqSqIloqUq3YNokBLAJQsiCgDG2x8ae9b1+PqSUbiIQRSCC4nV/NMX0aGrRaAh2+driwnFHI9DUj4YHhl3zmy++QnmXYpIfPoCex9VPOIvPgCkAgRQRHUsYeu7aiJlgYQe9455oWXDkS0vmI6HSXHa7/BR9j6khau2i1+VsJAdI8AF4roiMDyUNng3xts0mAxfnNvYb6FkAtlt+KRHPlbKVJ2sCjEmfWq84DWUASWCSFKnq2lS6mw6Fy+dFhR0Xo07TwqszjfuOLfc64s2pxNj08OF39xHVyDE501MAQAQ2KJVoYDbvToa//OX0xp1H3cL4s9UE+l7kossdx+qLWtufKUyHZuMnP3wN6JzpSTAOUqBG5EBMzGXfTcbmf9yv3b+zGInrE0Z5aZw8Hj256Da7ticabT/5xoxvGObGPc4iSTAOrmIgLHlELBVnDa2wdniXGp/uvVh5vBWeTf96Ndt1Jap1uFbf8S87Qi8UW4NBhYSUwofw4VoQMqaqNc/m5xc12yG/frDz4OPbRtbB52/l4RPWK9SqNy47rXaQFm9xaGNEBOIgRaojQ28vVGLKh49333lemQu21XBmtPpns3w5k07+tppC08bBEbc7aLfRNDmFRyUAEEkmEdbfWzFjg3RmrnTcbs/ayC34JOOnR+/vbSmr8394Kl7us16d+i3qnHMZjAOQkCQhPSVYLGhXMpuD3l0mDnOlb2v7N6U8Ml8Xaw/58vXvpY6dCl2eUd9Ev61cD8gjVxx4rpQWo1bz0VoyG88tF47zifWnVXTzB75R2A3Z2BiyLcgeOk04pnT75Dv8s/yE52HXFkRgDKJhNv+uo9WKJwxjOd+YzzwJslljKPDfSPBa5rYSRnmLnAtyenB6fNsZfuFKnyQRIwYiF06zv1XV/j2wOnY6k9AWUvem9IeltL9wZbNr4a+ydJrSd6Tv8m5kwiMwkiBGxAAhmNAGvQ+SneP16v7msdazJ6cmxFJqTVNROcHv/0B0QQBxbujTLkEQEVNABEhJzBGyWrcaTh+NhvnTTv35qeH3J9vm6c+bhWeVaVXeCg1A8P8BMcOuv5xAuEIAAAAASUVORK5CYII=","aspectRatio":1.2173913043478262,"src":"//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=185&h=152&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=370&h=304&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=739&h=607&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=896&h=736&q=50&fit=scale 896w","srcWebp":"//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=185&h=152&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=370&h=304&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=739&h=607&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/6Vcvtui940jfR0m1YqCloH/1229226054c9cf8ba725bc0def6fc934/BlogImage_default_opensource.png?w=896&h=736&q=50&fm=webp&fit=scale 896w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Joakim Lindkvist","slug":"joakim-lindkvist"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":null,"metaDescription":null},{"title":"The TinyMCE Community has moved","slug":"tinymce-community-moves-to-stack-overflow-and-github","featured":false,"lastUpdated":"Sep 16th, 2020","description":{"description":"<p>We are excited to announce the consolidation of the TinyMCE community into two online spaces: Stack Overflow and GitHub. Stack Overflow for assistance with TinyMCE, and GitHub for reporting issues and requesting features or enhancements.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"We are excited to announce the consolidation of the TinyMCE community into two online spaces: Stack Overflow and GitHub. Stack Overflow for assistance with TinyMCE, and GitHub for reporting issues and requesting features or enhancements."}]}],"data":{"quirksMode":false}}}},"heroImage":{"alt":"Silhouettes of at least six people at sunset, Tiny logo at the center.","artistName":null,"image":{"fluid":{"base64":"data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAAC1UlEQVQoz01Ty27TQBS98/AzttPENWkaWlEQSK0QlFUlFsCODUuW/BArVvwBSxAIVLEoVCDEQ6pakaISQUuRQtJC+kpjx3E84xlsp1RIZ45Gls+9Z+aeQTB/FxAGhHLkG4BsjQhERjJbUoqU/kGAkBQ0AxAFjHMlyQBInlaA/NeURQKSZ5pTiISCagFWgCi5GAMmeSEYWThpInPxCHK0YSA4Bd3OxTQDRicW8Mj/qUNxwgnPOBUnDJKIQsHJ2qYNCTlpCzjznBbKDMN/VpNcnDNPoVEwTISQVA0gOBfAXEG9XnOWWt0FryCkbPnRnwFrxQkSMua5eNhX/Q5wRs3dDbXzoz93Q3o1QdGMRu7N12quPT1RsA3VMbVuEFEER0H0dGOnHqSHR+W9Nn7zUJoqVbY/4GajYmnD6h1i6JLAjh+4Rb3tB6wrpkrWr6P+1JipqqQuRckkjCFCCaQOejGaqnh0ela5ehO7VUuhOqUU43FD7TGeTjYBlEhQUHpNshOzWMiQCdbr8V+bcvcn5QlSz182Xbeoga1jS8M6RQrm40Y2ai7S4eKIywEDSnDIeEhkQIy+c0XxPMLDvmFbZy/OuBa1cRzu/HRIfMaE7frqTLVYLtC4f2wbRFch6u7tbtRdr6QTqeJEGRziCMC2lYotzxalGrSfPbi/vvjY8He2lp9VULeKj1efPNpeeU8H+542UJprNOyMkdAloe1opFarXLs1b1KB/MPWRmOzsaWr6sHeQXm8fOf2QjIMP699WXr+0jHQhUvV/c7e+tuVymSxZFMFYnJmwkOSf3zx9v3iu61G0y6W/JB9/9Y88oflscKr15+WluuUFHr7B5Oe9rvZ3lz/apB4uqYPOm3kOB4bJIqOMcGIpHnJIp3ebRjxODwAMK2iRQmKh0nRpgjjwGeSJedmS8HxAJXdidP3N1KOnoOQIk0xysKep1ymoZR56pHgMgp4+vUvTbuBgGQJVeMAAAAASUVORK5CYII=","aspectRatio":1.2173913043478262,"src":"//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=739&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=185&h=152&q=50&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=370&h=304&q=50&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=739&h=607&q=50&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=896&h=736&q=50&fit=scale 896w","srcWebp":"//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=739&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=185&h=152&q=50&fm=webp&fit=scale 185w,\n//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=370&h=304&q=50&fm=webp&fit=scale 370w,\n//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=739&h=607&q=50&fm=webp&fit=scale 739w,\n//images.ctfassets.net/s600jj41gsex/42G8khDh2YvyH8hdXZoaUq/92da988dcc1008fdc56efd5d93efd4f6/Image_default_Community.png?w=896&h=736&q=50&fm=webp&fit=scale 896w","sizes":"(max-width: 739px) 100vw, 739px"}}},"author":{"name":"Ben Long","slug":"ben-long"},"category":{"title":"Open Source","slug":"open-source"},"metaTitle":{"metaTitle":"TinyMCE Community moves to Stack Overflow and GitHub"},"metaDescription":{"metaDescription":"We are excited to announce the consolidation of the TinyMCE community into two online spaces: Stack Overflow and GitHub. Stack Overflow for assistance with TinyMCE, and GitHub for reporting issues and requesting features or enhancements."}}]},"description":{"description":"<p>Learn how to contribute to open source projects, with TinyMCE as an example.</p>","childMarkdownRemark":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Learn how to contribute to open source projects, with TinyMCE as an example."}]}],"data":{"quirksMode":false}}}},"tags":[{"slug":"collaboration","title":"Collaboration"},{"slug":"community","title":"Community"},{"slug":"open-source","title":"Open Source"},{"slug":"tinymce","title":"TinyMCE"}],"body":{"body":"<p>In November of 2019, a survey by Tidelift and the New Stack reported that <a href=\"https://thenewstack.io/the-surprising-truth-about-how-many-developers-contribute-to-open-source/\" target=\"_blank\" rel=\"noopener\">over 84% of software developers</a> consider themselves to be active open source contributors. The size of contributions has only grown since then, and each open source Project Manager who&rsquo;s maintaining an ongoing project appreciates the help.&nbsp;</p>\n<p>But despite the widespread act of contribution, it can still be unclear exactly how to contribute to open source projects.</p>\n<p>While each project is unique, a lot of the same patterns occur across open source file repositories. A first step in getting to know those patterns is completing your first open source contribution on a project you know.</p>\n<p>However taking that first step can be a struggle. To give you some more clarity, this article provides a guide to open source contributions &ndash; in particular, how to make contributions to the <a href=\"https://www.github.com/tinymce/tinymce\" target=\"_blank\" rel=\"noopener\">TinyMCE open source project on GitHub</a>.</p>\n<h2>Why contribute to open source</h2>\n<p>When you make a contribution, you&rsquo;re not simply correcting an error &ndash; you&rsquo;re giving something valuable to a community of developers. <strong>This is the greatest advantage of open source.&nbsp;</strong></p>\n<p>Your contribution can help to speed development worldwide by solving a problem in a project, or helping it to mature at a faster pace. Your contribution could <a href=\"https://enterprisersproject.com/article/2015/1/top-advantages-open-source-offers-over-proprietary-solutions\" target=\"_blank\" rel=\"noopener\">offer a novel way to solve a problem</a>, which when adopted, could help a large scale business advance and innovate more quickly than they would have working on their own.</p>\n<p>Now multiply that one instance by the number of developers who contribute to open source worldwide, and you have an idea of why open source contributions matter.</p>\n<h2>Why contribute to TinyMCE? It&rsquo;s always been open source</h2>\n<p>The TinyMCE rich text editor has been an open source project since 2004. As a project,&nbsp; it&rsquo;s grown to become the world&rsquo;s <a href=\"https://www.tiny.cloud/blog/open-source-wysiwyg-html-editor/\" target=\"_blank\" rel=\"noopener\">most popular open source WYSIWYG</a>. Over time, Tiny has also grown in its knowledge and experience of open source, and how to maintain an open source project.</p>\n<p>We&rsquo;re always seeking novel ways to invite interested contributors to check out the project, and have their work incorporated into the WYSIWYG.<br /><br />As a long term <a href=\"https://www.tiny.cloud/blog/what-is-open-source-software/\" target=\"_blank\" rel=\"noopener\">open source software</a>, we have an established community who can provide support to new contributors. This makes TinyMCE an ideal place to start working on open source.</p>\n<h2>Where you can find the TinyMCE open source project</h2>\n<p>The entire project is divided into different repositories:</p>\n<ul>\n<li>The <a href=\"https://github.com/tinymce/tinymce\" target=\"_blank\" rel=\"noopener\">Core editor</a></li>\n<li><a href=\"https://github.com/tinymce/tinymce-angular\" target=\"_blank\" rel=\"noopener\">Angular Integration</a></li>\n<li><a href=\"https://github.com/tinymce/tinymce-react\" target=\"_blank\" rel=\"noopener\">React Integration</a></li>\n<li><a href=\"https://github.com/tinymce/tinymce-vue\" target=\"_blank\" rel=\"noopener\">Vue Integration</a></li>\n<li>The <a href=\"https://github.com/tinymce/tinymce-docs\" target=\"_blank\" rel=\"noopener\">TinyMCE documentation</a></li>\n<li>Different <a href=\"https://github.com/tinymce/tinymce-demos\" target=\"_blank\" rel=\"noopener\">TinyMCE Demos</a></li>\n</ul>\n<p>Depending on your expertise and experience, there are a variety of different places where you can provide a solution, or address a bug.</p>\n<h2>What you need to contribute to open source</h2>\n<p>Experience with version control is a requirement, because open source has used some form of version control since it became widespread. Most projects are hosted on some kind of version control based repository: GitHub, BitBucket, GitLab, and AWS CodeCommit for instance.</p>\n<p>Having an understanding of the essential git commands: <code>git clone</code>, <code>git pull</code>, and <code>git push</code> can also help, as does learning to <a href=\"https://www.tiny.cloud/blog/the-essential-git-stash-and-git-reset-guide\" target=\"_blank\" rel=\"noopener\">stash and reset</a>.<br /><br />There are two further things contributors need to understand:</p>\n<ol>\n<li><strong>There will be a review process, involving suggestions from developers<br /></strong>\n<p>Be prepared to adjust your contribution as the maintainers review your suggested change.</p>\n</li>\n<li><strong>Open source projects are interconnected, and this means changes in one area could disrupt another<br /></strong>\n<p>That's why point #1 is so important &ndash; the contribution may need adjustment to prevent disruption to another part of the project source code.</p>\n</li>\n</ol>\n<h2>How to contribute to TinyMCE</h2>\n<p>The best place to start is the <a href=\"https://github.com/tinymce/tinymce/blob/develop/CONTRIBUTING.md\" target=\"_blank\" rel=\"noopener\">Contributor guide</a>, and to read <a href=\"https://github.com/tinymce/tinymce/blob/develop/CODE_OF_CONDUCT.md\" target=\"_blank\" rel=\"noopener\">the Code of Conduct</a>. Then check the issues section of the TinyMCE repository, and jump over to the Pull Requests section. That&rsquo;ll give you an idea of the pattern of checking out any issues, working on solving a problem, and then how Pull Requests are returned for review.&nbsp;&nbsp;</p>\n<p>Any contributors who make a change, and then work to have it merged, receive credit in the TinyMCE changelog, updated for each release.</p>\n<p>As an example, the following procedure walks through making a change to the Contributor guide (to demonstrate the process).</p>\n<h3>Make a clone of the repository</h3>\n<p>Forking from an established project is a common open source practice.</p>\n<ol>\n<li>Head to the tinymce repository on GitHub</li>\n<li>Click on the green Code button in the upper right of the GitHub interface</li>\n<li>Copy the URL &ndash; either in HTTPS or SSH format</li>\n<li>Run the <code>git clone</code> command with the copied URL in a terminal window or bash shell</li>\n</ol>\n<p>If you run the git branch command after the clone process finishes, the first branch you see when you run the git branch command is named develop.</p>\n<p>Create a new branch named for what you want to contribute, followed by a forward slash, and then the file affected by your change, or the issue number your change will fix. Here&rsquo;s some example branch names:</p>\n<ul>\n<li>editing/CONTRIBUTION.md</li>\n<li>feature/Issue#1234</li>\n<li>fix/issue#1122</li>\n</ul>\n<p>When you finish making the changes, the contribute guide <a href=\"https://github.com/tinymce/tinymce/blob/develop/CONTRIBUTING.md#testing\" target=\"_blank\" rel=\"noopener\">describes the different tests</a> you can run to see how your work impacts the project:</p>\n<ul>\n<li>CI test scripts</li>\n<li>Dev test scripts</li>\n<li>Running a subset of test scripts</li>\n</ul>\n<p>The reason why tests are available is to ensure your contribution has not caused a break in any part of the code. Adding your tests ensures that the bug you're creating a fix for will be caught if it surfaces again, and proves your solution fixes the bug without adding further problems.</p>\n<p>When testing is complete, use git add to add your changed files, and git commit to create a meaningful commit message. For example:</p>\n<pre class=\"language-bash\"># Commit Message Title: Feature or Fix\n\n## Why this change is needed&nbsp;\n\n* Dot points to explain why the change is needed\n\nIssues affected:#1234</pre>\n<ol>\n<li>Write the commit message in Markdown, since GitHub is able to parse it effectively.&nbsp;</li>\n<li>Push your commit up with the <code>git push --set-upstream origin &lt;branch-name&gt;</code> command.</li>\n<li>Navigate back to the repository in your browser, and make a pull request.</li>\n<li>Tag any TinyMCE devs you can see who have worked on the file you just adjusted &ndash; this can also help get your review checked more quickly.</li>\n</ol>\n<h2>Contributing to open source documentation</h2>\n<p>When making a contribution, if your change affects TinyMCE, and that change appears in the docs as an instruction, note, description, or similar, it&rsquo;s also a benefit to the community if you also update the TinyMCE documentation.</p>\n<p>If your aim is to work on the docs and make a change or an improvement, the process is the same as contributing to the TinyMCE source:</p>\n<ol>\n<li>Fork the <a href=\"https://github.com/tinymce/tinymce-docs\" target=\"_blank\" rel=\"noopener\">TinyMCE documentation repository</a></li>\n<li>Write or edit the documentation</li>\n<li>Commit your change, and write a commit message following the same pattern noted in the above How-to section</li>\n<li>Reach out <a href=\"https://github.com/tinymce/tinymce-docs/issues/new?assignees=&amp;labels=question&amp;template=question.md\" target=\"_blank\" rel=\"noopener\">to the documentation team</a> if you have a question.</li>\n</ol>\n<h2>Contributing to TinyMCE integrations&nbsp;</h2>\n<p>If you&rsquo;re using one of TinyMCEs integrations, and you&rsquo;d like to make a change to one of the TinyMCE integration repositories, the process is again similar to making a change to the main repository or the documentation. <br /><br />There is one essential first step to take, before contributing to a framework integration. That is, test your bug and see if it can be replicated in a TinyMCE fiddle. Completing this step helps to identify where the bug actually comes from &ndash; ie. TinyMCE, or the framework.</p>\n<h2>Reporting open source bugs</h2>\n<p>If you find a bug in TinyMCE, and it has some impact on your work in the rich text editor, please report it. It&rsquo;s easy to assume that the bug has happened to others, and that someone will eventually say something. But that&rsquo;s not always true.</p>\n<p>It&rsquo;s better to report a bug you&rsquo;re facing, because in maintenance practice, the more often an error appears, the higher priority rating it receives. Higher priority bugs are fixed faster. <br /><br />When reporting bugs, it&rsquo;s also ideal to include steps to replicate. This helps TinyMCE developers to more quickly identify where the problem lies, and start working on fixing it. Bugs are frustrating, make no mistake.</p>\n<p>Including information about what happened before the bug, and any steps to replicate it are the last things that come to mind when things just won&rsquo;t work. However, taking a second to capture and communicate this information can get results and doing so is an act of good open source citizenship.</p>\n<h2>Next steps to take in open source</h2>\n<p>Acting with good open source citizenship in mind makes a world of difference when contributing to open source. Communication is text based from start to finish in the majority of open source projects, and therefore it&rsquo;s not difficult to misunderstand the meaning behind review comments without a voice.</p>\n<p>When it comes to working in open source, it&rsquo;s important to assume positive intent. Project maintainers have a responsibility to add improvements that benefit the project and all the people who use it. This is why you may be asked to make an adjustment to your solution.</p>\n<p>Maintainers are grateful for the attention you&rsquo;re paying them and their work by looking closely, finding a bug to fix, and updating any documentation.</p>\n<p>If you need any further support and information on how to contribute to open source, particularly TinyMCE, check in with the<a href=\"https://github.com/tinymce/tinymce/discussions\"> TinyMCE discussion space</a>, or take a look through the current, <a href=\"https://github.com/tinymce/tinymce/issues\">reported issues listed</a> in the TinyMCE repository.&nbsp;</p>","childMarkdownRemark":{"html":"<p>In November of 2019, a survey by Tidelift and the New Stack reported that <a href=\"https://thenewstack.io/the-surprising-truth-about-how-many-developers-contribute-to-open-source/\" target=\"_blank\" rel=\"noopener\">over 84% of software developers</a> consider themselves to be active open source contributors. The size of contributions has only grown since then, and each open source Project Manager who&rsquo;s maintaining an ongoing project appreciates the help.&nbsp;</p>\n<p>But despite the widespread act of contribution, it can still be unclear exactly how to contribute to open source projects.</p>\n<p>While each project is unique, a lot of the same patterns occur across open source file repositories. A first step in getting to know those patterns is completing your first open source contribution on a project you know.</p>\n<p>However taking that first step can be a struggle. To give you some more clarity, this article provides a guide to open source contributions &ndash; in particular, how to make contributions to the <a href=\"https://www.github.com/tinymce/tinymce\" target=\"_blank\" rel=\"noopener\">TinyMCE open source project on GitHub</a>.</p>\n<h2>Why contribute to open source</h2>\n<p>When you make a contribution, you&rsquo;re not simply correcting an error &ndash; you&rsquo;re giving something valuable to a community of developers. <strong>This is the greatest advantage of open source.&nbsp;</strong></p>\n<p>Your contribution can help to speed development worldwide by solving a problem in a project, or helping it to mature at a faster pace. Your contribution could <a href=\"https://enterprisersproject.com/article/2015/1/top-advantages-open-source-offers-over-proprietary-solutions\" target=\"_blank\" rel=\"noopener\">offer a novel way to solve a problem</a>, which when adopted, could help a large scale business advance and innovate more quickly than they would have working on their own.</p>\n<p>Now multiply that one instance by the number of developers who contribute to open source worldwide, and you have an idea of why open source contributions matter.</p>\n<h2>Why contribute to TinyMCE? It&rsquo;s always been open source</h2>\n<p>The TinyMCE rich text editor has been an open source project since 2004. As a project,&nbsp; it&rsquo;s grown to become the world&rsquo;s <a href=\"https://www.tiny.cloud/blog/open-source-wysiwyg-html-editor/\" target=\"_blank\" rel=\"noopener\">most popular open source WYSIWYG</a>. Over time, Tiny has also grown in its knowledge and experience of open source, and how to maintain an open source project.</p>\n<p>We&rsquo;re always seeking novel ways to invite interested contributors to check out the project, and have their work incorporated into the WYSIWYG.<br /><br />As a long term <a href=\"https://www.tiny.cloud/blog/what-is-open-source-software/\" target=\"_blank\" rel=\"noopener\">open source software</a>, we have an established community who can provide support to new contributors. This makes TinyMCE an ideal place to start working on open source.</p>\n<h2>Where you can find the TinyMCE open source project</h2>\n<p>The entire project is divided into different repositories:</p>\n<ul>\n<li>The <a href=\"https://github.com/tinymce/tinymce\" target=\"_blank\" rel=\"noopener\">Core editor</a></li>\n<li><a href=\"https://github.com/tinymce/tinymce-angular\" target=\"_blank\" rel=\"noopener\">Angular Integration</a></li>\n<li><a href=\"https://github.com/tinymce/tinymce-react\" target=\"_blank\" rel=\"noopener\">React Integration</a></li>\n<li><a href=\"https://github.com/tinymce/tinymce-vue\" target=\"_blank\" rel=\"noopener\">Vue Integration</a></li>\n<li>The <a href=\"https://github.com/tinymce/tinymce-docs\" target=\"_blank\" rel=\"noopener\">TinyMCE documentation</a></li>\n<li>Different <a href=\"https://github.com/tinymce/tinymce-demos\" target=\"_blank\" rel=\"noopener\">TinyMCE Demos</a></li>\n</ul>\n<p>Depending on your expertise and experience, there are a variety of different places where you can provide a solution, or address a bug.</p>\n<h2>What you need to contribute to open source</h2>\n<p>Experience with version control is a requirement, because open source has used some form of version control since it became widespread. Most projects are hosted on some kind of version control based repository: GitHub, BitBucket, GitLab, and AWS CodeCommit for instance.</p>\n<p>Having an understanding of the essential git commands: <code>git clone</code>, <code>git pull</code>, and <code>git push</code> can also help, as does learning to <a href=\"https://www.tiny.cloud/blog/the-essential-git-stash-and-git-reset-guide\" target=\"_blank\" rel=\"noopener\">stash and reset</a>.<br /><br />There are two further things contributors need to understand:</p>\n<ol>\n<li><strong>There will be a review process, involving suggestions from developers<br /></strong>\n<p>Be prepared to adjust your contribution as the maintainers review your suggested change.</p>\n</li>\n<li><strong>Open source projects are interconnected, and this means changes in one area could disrupt another<br /></strong>\n<p>That's why point #1 is so important &ndash; the contribution may need adjustment to prevent disruption to another part of the project source code.</p>\n</li>\n</ol>\n<h2>How to contribute to TinyMCE</h2>\n<p>The best place to start is the <a href=\"https://github.com/tinymce/tinymce/blob/develop/CONTRIBUTING.md\" target=\"_blank\" rel=\"noopener\">Contributor guide</a>, and to read <a href=\"https://github.com/tinymce/tinymce/blob/develop/CODE_OF_CONDUCT.md\" target=\"_blank\" rel=\"noopener\">the Code of Conduct</a>. Then check the issues section of the TinyMCE repository, and jump over to the Pull Requests section. That&rsquo;ll give you an idea of the pattern of checking out any issues, working on solving a problem, and then how Pull Requests are returned for review.&nbsp;&nbsp;</p>\n<p>Any contributors who make a change, and then work to have it merged, receive credit in the TinyMCE changelog, updated for each release.</p>\n<p>As an example, the following procedure walks through making a change to the Contributor guide (to demonstrate the process).</p>\n<h3>Make a clone of the repository</h3>\n<p>Forking from an established project is a common open source practice.</p>\n<ol>\n<li>Head to the tinymce repository on GitHub</li>\n<li>Click on the green Code button in the upper right of the GitHub interface</li>\n<li>Copy the URL &ndash; either in HTTPS or SSH format</li>\n<li>Run the <code>git clone</code> command with the copied URL in a terminal window or bash shell</li>\n</ol>\n<p>If you run the git branch command after the clone process finishes, the first branch you see when you run the git branch command is named develop.</p>\n<p>Create a new branch named for what you want to contribute, followed by a forward slash, and then the file affected by your change, or the issue number your change will fix. Here&rsquo;s some example branch names:</p>\n<ul>\n<li>editing/CONTRIBUTION.md</li>\n<li>feature/Issue#1234</li>\n<li>fix/issue#1122</li>\n</ul>\n<p>When you finish making the changes, the contribute guide <a href=\"https://github.com/tinymce/tinymce/blob/develop/CONTRIBUTING.md#testing\" target=\"_blank\" rel=\"noopener\">describes the different tests</a> you can run to see how your work impacts the project:</p>\n<ul>\n<li>CI test scripts</li>\n<li>Dev test scripts</li>\n<li>Running a subset of test scripts</li>\n</ul>\n<p>The reason why tests are available is to ensure your contribution has not caused a break in any part of the code. Adding your tests ensures that the bug you're creating a fix for will be caught if it surfaces again, and proves your solution fixes the bug without adding further problems.</p>\n<p>When testing is complete, use git add to add your changed files, and git commit to create a meaningful commit message. For example:</p>\n<pre class=\"language-bash\"># Commit Message Title: Feature or Fix\n<h2>Why this change is needed </h2>\n<ul>\n<li>Dot points to explain why the change is needed</li>\n</ul>\n<p>Issues affected:#1234</pre></p>\n<ol>\n<li>Write the commit message in Markdown, since GitHub is able to parse it effectively.&nbsp;</li>\n<li>Push your commit up with the <code>git push --set-upstream origin &lt;branch-name&gt;</code> command.</li>\n<li>Navigate back to the repository in your browser, and make a pull request.</li>\n<li>Tag any TinyMCE devs you can see who have worked on the file you just adjusted &ndash; this can also help get your review checked more quickly.</li>\n</ol>\n<h2>Contributing to open source documentation</h2>\n<p>When making a contribution, if your change affects TinyMCE, and that change appears in the docs as an instruction, note, description, or similar, it&rsquo;s also a benefit to the community if you also update the TinyMCE documentation.</p>\n<p>If your aim is to work on the docs and make a change or an improvement, the process is the same as contributing to the TinyMCE source:</p>\n<ol>\n<li>Fork the <a href=\"https://github.com/tinymce/tinymce-docs\" target=\"_blank\" rel=\"noopener\">TinyMCE documentation repository</a></li>\n<li>Write or edit the documentation</li>\n<li>Commit your change, and write a commit message following the same pattern noted in the above How-to section</li>\n<li>Reach out <a href=\"https://github.com/tinymce/tinymce-docs/issues/new?assignees=&amp;labels=question&amp;template=question.md\" target=\"_blank\" rel=\"noopener\">to the documentation team</a> if you have a question.</li>\n</ol>\n<h2>Contributing to TinyMCE integrations&nbsp;</h2>\n<p>If you&rsquo;re using one of TinyMCEs integrations, and you&rsquo;d like to make a change to one of the TinyMCE integration repositories, the process is again similar to making a change to the main repository or the documentation. <br /><br />There is one essential first step to take, before contributing to a framework integration. That is, test your bug and see if it can be replicated in a TinyMCE fiddle. Completing this step helps to identify where the bug actually comes from &ndash; ie. TinyMCE, or the framework.</p>\n<h2>Reporting open source bugs</h2>\n<p>If you find a bug in TinyMCE, and it has some impact on your work in the rich text editor, please report it. It&rsquo;s easy to assume that the bug has happened to others, and that someone will eventually say something. But that&rsquo;s not always true.</p>\n<p>It&rsquo;s better to report a bug you&rsquo;re facing, because in maintenance practice, the more often an error appears, the higher priority rating it receives. Higher priority bugs are fixed faster. <br /><br />When reporting bugs, it&rsquo;s also ideal to include steps to replicate. This helps TinyMCE developers to more quickly identify where the problem lies, and start working on fixing it. Bugs are frustrating, make no mistake.</p>\n<p>Including information about what happened before the bug, and any steps to replicate it are the last things that come to mind when things just won&rsquo;t work. However, taking a second to capture and communicate this information can get results and doing so is an act of good open source citizenship.</p>\n<h2>Next steps to take in open source</h2>\n<p>Acting with good open source citizenship in mind makes a world of difference when contributing to open source. Communication is text based from start to finish in the majority of open source projects, and therefore it&rsquo;s not difficult to misunderstand the meaning behind review comments without a voice.</p>\n<p>When it comes to working in open source, it&rsquo;s important to assume positive intent. Project maintainers have a responsibility to add improvements that benefit the project and all the people who use it. This is why you may be asked to make an adjustment to your solution.</p>\n<p>Maintainers are grateful for the attention you&rsquo;re paying them and their work by looking closely, finding a bug to fix, and updating any documentation.</p>\n<p>If you need any further support and information on how to contribute to open source, particularly TinyMCE, check in with the<a href=\"https://github.com/tinymce/tinymce/discussions\"> TinyMCE discussion space</a>, or take a look through the current, <a href=\"https://github.com/tinymce/tinymce/issues\">reported issues listed</a> in the TinyMCE repository.&nbsp;</p>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In November of 2019, a survey by Tidelift and the New Stack reported that "},{"type":"element","tagName":"a","properties":{"href":"https://thenewstack.io/the-surprising-truth-about-how-many-developers-contribute-to-open-source/","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"over 84% of software developers"}]},{"type":"text","value":" consider themselves to be active open source contributors. The size of contributions has only grown since then, and each open source Project Manager who’s maintaining an ongoing project appreciates the help. "}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"But despite the widespread act of contribution, it can still be unclear exactly how to contribute to open source projects."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"While each project is unique, a lot of the same patterns occur across open source file repositories. A first step in getting to know those patterns is completing your first open source contribution on a project you know."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"However taking that first step can be a struggle. To give you some more clarity, this article provides a guide to open source contributions – in particular, how to make contributions to the "},{"type":"element","tagName":"a","properties":{"href":"https://www.github.com/tinymce/tinymce","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"TinyMCE open source project on GitHub"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Why contribute to open source"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"When you make a contribution, you’re not simply correcting an error – you’re giving something valuable to a community of developers. "},{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"This is the greatest advantage of open source. "}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Your contribution can help to speed development worldwide by solving a problem in a project, or helping it to mature at a faster pace. Your contribution could "},{"type":"element","tagName":"a","properties":{"href":"https://enterprisersproject.com/article/2015/1/top-advantages-open-source-offers-over-proprietary-solutions","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"offer a novel way to solve a problem"}]},{"type":"text","value":", which when adopted, could help a large scale business advance and innovate more quickly than they would have working on their own."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Now multiply that one instance by the number of developers who contribute to open source worldwide, and you have an idea of why open source contributions matter."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Why contribute to TinyMCE? It’s always been open source"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The TinyMCE rich text editor has been an open source project since 2004. As a project,  it’s grown to become the world’s "},{"type":"element","tagName":"a","properties":{"href":"https://www.tiny.cloud/blog/open-source-wysiwyg-html-editor/","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"most popular open source WYSIWYG"}]},{"type":"text","value":". Over time, Tiny has also grown in its knowledge and experience of open source, and how to maintain an open source project."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"We’re always seeking novel ways to invite interested contributors to check out the project, and have their work incorporated into the WYSIWYG."},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"text","value":"As a long term "},{"type":"element","tagName":"a","properties":{"href":"https://www.tiny.cloud/blog/what-is-open-source-software/","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"open source software"}]},{"type":"text","value":", we have an established community who can provide support to new contributors. This makes TinyMCE an ideal place to start working on open source."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Where you can find the TinyMCE open source project"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The entire project is divided into different repositories:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"The "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"Core editor"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce-angular","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"Angular Integration"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce-react","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"React Integration"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce-vue","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"Vue Integration"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"The "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce-docs","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"TinyMCE documentation"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Different "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce-demos","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"TinyMCE Demos"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Depending on your expertise and experience, there are a variety of different places where you can provide a solution, or address a bug."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"What you need to contribute to open source"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Experience with version control is a requirement, because open source has used some form of version control since it became widespread. Most projects are hosted on some kind of version control based repository: GitHub, BitBucket, GitLab, and AWS CodeCommit for instance."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Having an understanding of the essential git commands: "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"git clone"}]},{"type":"text","value":", "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"git pull"}]},{"type":"text","value":", and "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"git push"}]},{"type":"text","value":" can also help, as does learning to "},{"type":"element","tagName":"a","properties":{"href":"https://www.tiny.cloud/blog/the-essential-git-stash-and-git-reset-guide","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"stash and reset"}]},{"type":"text","value":"."},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"text","value":"There are two further things contributors need to understand:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ol","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"There will be a review process, involving suggestions from developers"},{"type":"element","tagName":"br","properties":{},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Be prepared to adjust your contribution as the maintainers review your suggested change."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"strong","properties":{},"children":[{"type":"text","value":"Open source projects are interconnected, and this means changes in one area could disrupt another"},{"type":"element","tagName":"br","properties":{},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"That's why point #1 is so important – the contribution may need adjustment to prevent disruption to another part of the project source code."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"How to contribute to TinyMCE"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The best place to start is the "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce/blob/develop/CONTRIBUTING.md","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"Contributor guide"}]},{"type":"text","value":", and to read "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce/blob/develop/CODE_OF_CONDUCT.md","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"the Code of Conduct"}]},{"type":"text","value":". Then check the issues section of the TinyMCE repository, and jump over to the Pull Requests section. That’ll give you an idea of the pattern of checking out any issues, working on solving a problem, and then how Pull Requests are returned for review.  "}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Any contributors who make a change, and then work to have it merged, receive credit in the TinyMCE changelog, updated for each release."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"As an example, the following procedure walks through making a change to the Contributor guide (to demonstrate the process)."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{},"children":[{"type":"text","value":"Make a clone of the repository"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Forking from an established project is a common open source practice."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ol","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Head to the tinymce repository on GitHub"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Click on the green Code button in the upper right of the GitHub interface"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Copy the URL – either in HTTPS or SSH format"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Run the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"git clone"}]},{"type":"text","value":" command with the copied URL in a terminal window or bash shell"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If you run the git branch command after the clone process finishes, the first branch you see when you run the git branch command is named develop."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Create a new branch named for what you want to contribute, followed by a forward slash, and then the file affected by your change, or the issue number your change will fix. Here’s some example branch names:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"editing/CONTRIBUTION.md"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"feature/Issue#1234"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"fix/issue#1122"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"When you finish making the changes, the contribute guide "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce/blob/develop/CONTRIBUTING.md#testing","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"describes the different tests"}]},{"type":"text","value":" you can run to see how your work impacts the project:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"CI test scripts"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Dev test scripts"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Running a subset of test scripts"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The reason why tests are available is to ensure your contribution has not caused a break in any part of the code. Adding your tests ensures that the bug you're creating a fix for will be caught if it surfaces again, and proves your solution fixes the bug without adding further problems."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"When testing is complete, use git add to add your changed files, and git commit to create a meaningful commit message. For example:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"pre","properties":{"className":["language-bash"]},"children":[{"type":"text","value":"# Commit Message Title: Feature or Fix\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Why this change is needed "}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Dot points to explain why the change is needed"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Issues affected:#1234"}]}]},{"type":"element","tagName":"p","properties":{},"children":[]},{"type":"text","value":"\n"},{"type":"element","tagName":"ol","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Write the commit message in Markdown, since GitHub is able to parse it effectively. "}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Push your commit up with the "},{"type":"element","tagName":"code","properties":{},"children":[{"type":"text","value":"git push --set-upstream origin <branch-name>"}]},{"type":"text","value":" command."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Navigate back to the repository in your browser, and make a pull request."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Tag any TinyMCE devs you can see who have worked on the file you just adjusted – this can also help get your review checked more quickly."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Contributing to open source documentation"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"When making a contribution, if your change affects TinyMCE, and that change appears in the docs as an instruction, note, description, or similar, it’s also a benefit to the community if you also update the TinyMCE documentation."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If your aim is to work on the docs and make a change or an improvement, the process is the same as contributing to the TinyMCE source:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ol","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Fork the "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce-docs","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"TinyMCE documentation repository"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Write or edit the documentation"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Commit your change, and write a commit message following the same pattern noted in the above How-to section"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Reach out "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce-docs/issues/new?assignees=&labels=question&template=question.md","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"to the documentation team"}]},{"type":"text","value":" if you have a question."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Contributing to TinyMCE integrations "}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If you’re using one of TinyMCEs integrations, and you’d like to make a change to one of the TinyMCE integration repositories, the process is again similar to making a change to the main repository or the documentation. "},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"text","value":"There is one essential first step to take, before contributing to a framework integration. That is, test your bug and see if it can be replicated in a TinyMCE fiddle. Completing this step helps to identify where the bug actually comes from – ie. TinyMCE, or the framework."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Reporting open source bugs"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If you find a bug in TinyMCE, and it has some impact on your work in the rich text editor, please report it. It’s easy to assume that the bug has happened to others, and that someone will eventually say something. But that’s not always true."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"It’s better to report a bug you’re facing, because in maintenance practice, the more often an error appears, the higher priority rating it receives. Higher priority bugs are fixed faster. "},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"element","tagName":"br","properties":{},"children":[]},{"type":"text","value":"When reporting bugs, it’s also ideal to include steps to replicate. This helps TinyMCE developers to more quickly identify where the problem lies, and start working on fixing it. Bugs are frustrating, make no mistake."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Including information about what happened before the bug, and any steps to replicate it are the last things that come to mind when things just won’t work. However, taking a second to capture and communicate this information can get results and doing so is an act of good open source citizenship."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{},"children":[{"type":"text","value":"Next steps to take in open source"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Acting with good open source citizenship in mind makes a world of difference when contributing to open source. Communication is text based from start to finish in the majority of open source projects, and therefore it’s not difficult to misunderstand the meaning behind review comments without a voice."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"When it comes to working in open source, it’s important to assume positive intent. Project maintainers have a responsibility to add improvements that benefit the project and all the people who use it. This is why you may be asked to make an adjustment to your solution."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Maintainers are grateful for the attention you’re paying them and their work by looking closely, finding a bug to fix, and updating any documentation."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If you need any further support and information on how to contribute to open source, particularly TinyMCE, check in with the"},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce/discussions"},"children":[{"type":"text","value":" TinyMCE discussion space"}]},{"type":"text","value":", or take a look through the current, "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/tinymce/tinymce/issues"},"children":[{"type":"text","value":"reported issues listed"}]},{"type":"text","value":" in the TinyMCE repository. "}]}],"data":{"quirksMode":false}}}},"body2":null,"codepens":null,"heroImage":{"image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":1.7767441860465116,"src":"//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=2560&q=80&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=640&h=360&q=80&fit=scale 640w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1280&h=720&q=80&fit=scale 1280w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1528&h=860&q=80&fit=scale 1528w","srcWebp":"//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=2560&q=80&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=640&h=360&q=80&fm=webp&fit=scale 640w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1280&h=720&q=80&fm=webp&fit=scale 1280w,\n//images.ctfassets.net/s600jj41gsex/5PPzVgd9oNXJunECmLQ6tV/b357c964ec1a7e199de9e86222df45ce/Image_opensource_contrubution_howto2.jpg?w=1528&h=860&q=80&fm=webp&fit=scale 1528w","sizes":"(max-width: 2560px) 100vw, 2560px"}},"alt":"Learn how to contribute to open source projects, with TinyMCE","artistName":null,"artistUrl":null},"author":{"slug":"mike-chau","name":"Mike Chau","image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":1,"src":"//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=48&q=50&fit=scale","srcSet":"//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=12&h=12&q=50&fit=scale 12w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=24&h=24&q=50&fit=scale 24w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=48&h=48&q=50&fit=scale 48w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=72&h=72&q=50&fit=scale 72w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=96&h=96&q=50&fit=scale 96w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=144&h=144&q=50&fit=scale 144w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=350&h=350&q=50&fit=scale 350w","srcWebp":"//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=48&q=50&fm=webp&fit=scale","srcSetWebp":"//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=12&h=12&q=50&fm=webp&fit=scale 12w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=24&h=24&q=50&fm=webp&fit=scale 24w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=48&h=48&q=50&fm=webp&fit=scale 48w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=72&h=72&q=50&fm=webp&fit=scale 72w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=96&h=96&q=50&fm=webp&fit=scale 96w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=144&h=144&q=50&fm=webp&fit=scale 144w,\n//images.ctfassets.net/s600jj41gsex/62DuPBeZdx88AnJfTZFf90/c7abfd4a94c38879ff7def4c2481f16d/Mike_C.jpg?w=350&h=350&q=50&fm=webp&fit=scale 350w","sizes":"(max-width: 48px) 100vw, 48px"}},"shortBio":{"shortBio":"Principal Product Manager at Tiny. Empowering a team of highly skilled engineers to create the best rich text editor on the market. Also loves the camping, four-wheel driving, and photography."}},"metaTitle":{"metaTitle":"How to contribute to open source with TinyMCE"},"metaDescription":{"metaDescription":"Open source powers most software. Learn how to contribute to open source projects with TinyMCE as an example, and about open source contributions practice."},"setkaCss":null,"setkaHtml":null,"resourceFiles":null,"canonicalUrl":null}},"pageContext":{"slug":"how-to-contribute-open-source","setkaPostId":0}},"staticQueryHashes":["2492987505","740350947"]}