Using ckeditor or tinymce - ckeditor

I would like to build SaaS application (with free and not free tiers).
And I want to use one of the editors: ckeditor or tinymce.
I don't want to pay for it.
Can I legally use it?
Can I use it if I will make my client app (which using editor) - open source (MIT license)?
P.S.
CKeditor - GPL, LGPL, MPL
Tinymce - LGPL

From the CKEditor FAQ:
CKEditor is distributed under the GPL, LGPL and MPL Open Source licenses. >this triple copyleft licensing model is flexible and allows you to choose >the license that is best suited for your needs.
The GPL grants the recipients of a computer program the rights of the free >software definition and uses copyleft to ensure the freedoms are preserved, >even when the work is changed or added to.
The LGPL places copyleft restrictions on the program governed under it but >does not apply these restrictions to other software that merely link with >the program. The main difference between the GPL and the LGPL is that the >latter allows the work to be linked with a non-(L)GPLed program, regardless >of whether it is free software or proprietary software.
The MPL allows covered source code to be mixed with other files under a >different, even proprietary license. However, code files licensed under the >MPL must remain under the MPL and be freely available in source form.
From the Tinymce FAQ:
Are there any restrictions to using TinyMCE in my commercial
application?
Yes, there are restrictions including the following. All
copyright notices must be intact as Moxiecode Systems are the
copyright owners of the source code. You cannot use the source code in
your applications without complying with the LGPL. According to the
provisions of the LGPL, any modifications or add-ons you make to the
source have to be released for the community's benefit. We recommend
that you always contribute your changes back to the TinyMCE community,
regardless of the situation. If you start to make a lot of revenue
from using TinyMCE, please remember the time and dedication that has
been put into this by other developers, respect this and give credit
to those who deserve it.
As long as you don't mess with the source code you are fine to use it for your use case (own tinymce plugins are no problem regarding this license).
If i were you i'd would go for Tinymce.

Related

Is it possible to develop a GUI on Linux Embedded with just HTML, CSS and JS?

I have been researching widely on this topic, but still haven't found a proper guide.
What I am doing is to create a GUI for an embedded system based on Linux Embedded and I would like to know if:
it's going to be possible to code the GUI using HTML, CSS and JS?
is it worth looking into porting a framework such as React JS?
is there any other alternative that allows for quick development and satisfying UI?
I am very new to this and I would be very grateful if someone more experienced could point me in the right direction.
Thanks so much.
I've just written an article listing the top 5 libraries for creating GUI on Embedded Linux. I've only mentioned one tool that renders HTML UI, the Sciter engine. It's much more compact than Webkit or Chromium. The owner of the project, Andrew Fedoniouk, recently released a new version called Sciter.Lite that will support embedded devices. Check out these two resources.
https://sciter.com/sciter-lite-is-published/
https://sciter.com/windowless-sciter-android-and-iot-devices/
Demos are already available on their GitHub
sdk/bin.lnx/x64lite
sdk/demos.lite
You don't have to limit yourself to HTML UI, check out the other tools I've recommended. All of them have a free version. For rich UI, I think HTML UI is easier. I mean, Sciter Notes doesn't look to shabby and it's just under 5Mb for Win, Linux and Mac. But the backend is C++. For more minimal hardware, you'll have to look into the C/C++ toolkits I've listed. TotalCross are planning to support Android XML but has not been released yet. So you can check on them also.
Oh. Almost forgot. Two whitepapers comparing QML and HTML5 were published in 2017. Qt requires you to register so I'll just give you the links so that you can download them without registering :)
Paper 1: Qt QML v HTML5 –a practical comparison
Published on May 2017 by Sequality Software Engineering an Austrian firm that is a Qt partner and does Qt consultancy.
Downlink Link 1, Download Link 2
Here is a review of the paper by a software engineer, Amir Shrestha, who provided the first download link. There is more discussion at Hacker News. There was also an interesting discussion thread in a YouTube video about the comparison. You can read the YT comment section but first search "Andrew MacAulay" and read that thread. He was the lead engineer for the autopilot system for the F-18 jets and has worked in other senior embedded roles.
Paper 2: Qt or HTML5? A Million Dollar Question
Published on Oct 2, 2017, by Burkhard Stubert a Qt consultant and developer.
Download Link
Here is the discussion on Hacker News.
An interesting piece of information I found in the second paper is that 90%+ of all home appliances are powered by micro-controllers with no OS or a very minimal RTOS.
Another interesting piece of information I discovered while writing my article, is that Micrium OS and components are now open-source under Apache 2.0. It has its own GUI toolkit written in C but it only targets Micrium OS and not embedded Linux. If developers start adopting Micrium OS (it was already quite popular in the industry and even launched in space) perhaps you can start looking into it too.

Dynamically linking ada runtime

I've installed GPS GPS 6.1.1 (20150118) hosted on i686-pc-mingw32 GNAT GPL 2015 (20150428-49).
It successfully compiles Hello World, but even release executable is huge since it includes statically compiled not-optimized runtime and (what is more important) as far as I understand ada runtime is licensed under GPL and can not be statically linked into closed-source executable.
How can I configure GPS / gcc to link runtime dynamically?
This is very close to this question, and the same answer applies.
However, in case you’d prefer to edit your project properties in GPS via the Project > Properties dialog:
go to the Switches tab (on the left hand side)
go to the Binder tab (at the top)
tick the Shared GNAT run time checkbox.
While you’re there, tick the Store call stack in exceptions checkbox too; this can help debugging an unhandled exception (the binder switch is -E).
I will let someone else answer the specific question, which is (IMO) a good one.
Also good are related questions of minimising the runtime size where the full featured runtime is not necessary, as for "Hello World". Comparing the executable size with the memory installed on your platform, one might conclude this is a case of premature optimization. But for bare-bones executables, e.g. on embedded microcontrollers, it is certainly worth asking.
However there is another implicit question :
How do I divorce my executable from a GPL-encumbered runtime?
and I will answer this.
Historically, the Gnat RTS was not always so encumbered. At one time it featured the "Gnat Modified" GPL, (GMGPL), in which the runtime files contained additional permission above the GPL rights, allowing you to link those components of the RTS with an executable, without burdening your executable with the GPL - effectively allowing you to release such an executable under a closed-source license. (Provided none of its other components were pure GPL).
The Gnat GPL compiler comes with a pure GPL runtime (completely legally) to distinguish it from commercial offerings from the same authors - who have the right to put food on their own table, and their commercial products have an excellent reputation and first class support.
However there is another fork of the older Gnat compiler, offered by the FSF as part of mainstream GCC, which is kept up to date with modern Ada developments including Ada-2012. In some respects it is ahead of Gnat GPL - in the underlying gcc version for example, while in some respects it is behind, as newer Ada features take longer to make it into the FSF branch. But the point here is that it inherited the GMGPL license, and then the very similar "Runtime Exception" in GPLv3. The linked "Rationale and FAQ" should let you determine if this satisfies your needs.
If so. you can compile gcc (including Gnat) from source to meet your needs. This is not a trivial project, however! So for most common platforms, you can find pre-built binaries of the FSF Gnat compiler from the imaginatively named getadanow.com
Disclaimer : I am only pointing out this option. As always with licensing issues, don't take the word of "random guy on the internet" but study the actual licenses of the compiler and RTS you are using and take appropriate legal advice.

SMB/CIFS protocol for iOS

Does anyone know library to browse (and upload/download/stream) on smb shares (SMB/CIFS protocol) from iOS. This must be support for all the Windows OS. This is grade help for me.
Not quite an answer to your question, but I have some tips:
If you write your own client, don't trust the IETF RFC. Microsoft
hasn't been scrupulous in its adherence to the spec. And be sure to
test with Unicode file/folder names, all major versions of Windows,
and so on.
Don't write your own client. :-)
If you use an open-source library, make sure it's not GPL or LGPL,
unless you plan to open-source your entire project. LGPL almost
works—it does on Mac OS X—but it requires dynamic linking, which
isn't supported on iOS.
You may see apps in the app store that use GPL or LGPL libraries,
but don't assume that it is safe to use them yourself. Those apps
are often blatantly abusing the license.
opensource.apple.com has an smb client that's a great reference but
it's a file system kernel extension, so you can't use it directly.

Can I use google code prettify for commercial use?

Can I use google code prettify for commercial use. I see that Code license - Apache License 2.0. Do I need to have a copy of the Apache license?
Google Code Prettify is published under Apache License 2.0. Take a look to this FAQ. It allows you to use Apache software in packages or distributions that you create.
However you need to include a copy of license in any distribution of your software and show clear attribution to Google.
Google Code Prettify is distributed under Apache Licence 2.0.
This means that you are free to use it in a commercial application provided that you also include a copy of the Apache License with your application.
RELATED: https://stackoverflow.com/a/1007376/2081889

firefox add-on vs. extensions vs. plugins

I want to write scripts for firefox. It seems that firefox has different terms, like add-on, extensions, plugins. and I have a feeling they're not all the same. Can you sum up the difference between in a few words?
Add-on: essentially anything that can be installed into the browser. This includes for example extensions, themes, plugins, dictionaries, language packs, search engines.
Extension: a package extending browser functionality, the extension format used by Firefox works in Gecko-based browsers only. Extensions typically use XUL and CSS for their user interface as well as JavaScript for dynamic actions. They have full access to XPCOM and can provide their own XPCOM components as well. Recently the Add-on SDK has been added as an alternative way to generate simple extensions, it uses HTML instead of XUL but limits the ways in which the browser's user interface can be extended significantly. As of Firefox 57, all extensions have to be based on the WebExtensions API.
Plugin: means NPAPI plugins that are supported by all browsers but Internet Explorer (the latter uses the proprietary ActiveX technology instead). Such plugins are binary libraries that are invoked if a website uses an <embed> or <object> tag with a type that is handled by the plugin. The plugin can either draw some content for the tag (windowed plugins) or stay in background and simply provide an API for the webpage's JavaScript code to use (windowless plugins). Typical examples are Flash or Silverlight. Support for plugins is being phased out, as of 2018 Flash is the only plugin still supported to some degree.
Augmenting the useful answer above, I found this high-level summary helpful:
Extensions differ slightly from plug-ins. Plug-ins usually have a narrow set of abilities. [..] Since plug-ins and extensions both increase the utility of the original application, Mozilla uses the term "add-on" as an inclusive category of augmentation modules that consists of plug-ins, themes, and search engines.
(from http://en.wikipedia.org/wiki/Plug-in_(computing))
According to Firefox:
Extensions
Extensions add new features to Firefox or modify existing ones. There are extensions that allow you to block advertisements, download videos from websites, integrate Firefox with websites like Facebook or Twitter and add features included in other browsers, such as translator.
Plugins
Plugins add support for all kinds of Internet content. These usually include patented formats like Flash that are used for video, audio, online games, presentations and more. Plugins are created and distributed by other companies.
add-ons
They are - Extensions, Plugnis, Themes, Search engines and Dictionaries & Language Packs.
Source: Firefox - https://support.mozilla.org/en-US/kb/find-and-install-add-ons-add-features-to-firefox
Extending the Augmentation above
Extension(s) is ment to extend the functionality of software
where a plug-in is ment to solve a problem of the software (to be able to do something it wasent designed to do already).
both types extends the program abilitys,
... and i guess this is why it can be so comfusing.
An Extension can be (and often are) a(n) option from the company that made the software (Usually cost money),
a plug-in can be from the company that made the software or a third party to add abilities to the software.

Resources