Where do I have to add license for core-plot? - core-plot

I would like to use core-plot library for an app. But before I'm starting im confused where to put the license. In the App or on a website?
What should be included for the BSD license ?

You don't include a license for a 3rd party library. It's already included by the library developer. What you sometimes have to add is an attribution (depending on the license). That means you have to list the developer's name and maybe a link to the library home page in your docs, about box or a prominent readme file. From what I remember the BSD license doesn't require attribution, so just include the lib and your done.
However, it's considered a nice move to still give some attribution to the dev, regardless of whether the license requires it or not, as this shows your appreciation of the work done and gives the dev some reputation (which is often the only payment for their work).

Related

What is the license for the iOS Google Mobile Vision Library?

I'm trying to find out what is the license/terms for the iOS version of the library : https://developers.google.com/vision.
Their Cocoapod page mentions both "Custom" in the upper right corner and Apache further down the page : https://cocoapods.org/?q=GoogleMobileVision
I'd like to have the link to the real licensing terms on their website but I can't find it. Looking at the header files themselves, their is not a single copyright claim either.
And finally, if the library is open sourced, where can I find the source code?
Thanks!
So, I opened an issue under the Sample project on Github to inquire about the actual FaceDetection library license and they answered. The actual library is NOT open source and is licensed under those terms : https://developers.google.com/terms/
See this link about Google Cloud Vision API prices, I don't know if this pricing formula is also for Google Mobile Vision API.

iOS - can I use open source ResearchKit screens to make an arbitrary app?

I'm trying to create a survey-style app which would collect some information from a user, then process it and make a recommendation. It appears that ResearchKit comes very close to what I need in terms of assembling series of questions in a paginated layout.
I've looked at apple app store review guidelines, and the project liscence, and can't find if I can arbitrarily take a portion of ResearchKit, build an app on top of it and publish it.
Can I modify open source ResearchKit framework to build arbitrary kind of app on top of it?
Yes, you can liberally use portions of ResearchKit code to build your app.
ResearchKit's license is BSD-like, so you can use ResearchKit code in any way you see fit provided you comply with its three points:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
Neither the name of the copyright holder(s) nor the names of any contributors may be used to endorse or promote products derived from
this software without specific prior written permission. No license is
granted to the trademarks of the copyright holders even if such marks
are included in this software.
This won't probably apply to your case, given that you only want to use parts of the ResearchKit code, but if you want to advertise the fact that you app uses ResearchKit, you may do so as explained at the footer here:
You may use the ResearchKit mark in order to indicate that your
product uses or is compatible with the ResearchKit software (for
example, “for use with,” “for,” or “compatible with" ResearchKit)
provided that:
The product does in fact use ResearchKit software developed by the ResearchKit.org open source project;
The ResearchKit mark stands apart from your brand or trademark (e.g., as in “ResearchKit for Chromium")
You do not seek to register a trademark containing ResearchKit or the ResearchKit logo; and
You do not state or imply in any way that Apple endorses, sponsors or guarantees your product, or was involved in or
associated with its development.

Does App Store accept Qt app linked with QT Library LGPLv3

There is any way to submit to the App Store an Qt Quick Controls application
under LGPLv3 license without violating App Store rules?
What i want to do is to deploy my app on iOS store using a dynamically linked version of the Qt libraries.
I tried to find an answer in every forum but seems very difficult.
Any suggestion is very appreciated.
Thanks in advance.
App Store does not care which license you use. It is the users of your application and the Library authors who care. The main point of the LGPLv3 license is that the end users must have the possibility to replace the library with their own modified version. This is very important to understand, dynamic / static / everything else is just distracting.
Let's move to Qt. It is available with LGPLv3 license on major Desktop (Windows, OSX, Linux) and mobile (iOS, Android) operating systems. Suppose you develop an application and want to keep your source code closed. On the Desktop you can link dynamically to Qt libraries. When the end users install your application, they can replace Qt libraries in the following way:
Compile their own version of Qt libraries
Navigate the the location where the application is installed
Replace original Qt libraies that were shipped with your applicatoin with their own modified versions
Looks easy, right? The main goal of LGPLv3 is achieved. The user can replace libraries.
Moving to the mobile platforms, starting with Android. Even though you link dynamically to the Qt libraries, we now have a small problem. The user can not navigate to C:/Program Files/YourApp and replace Qt libraries, because it's Android. Rooting is not an option, since it doesn't work on every device (and might not be legal). Remember, the main goal of LGPLv3 is to give the users ability to replace the library and run the modified version of your application on their device.
Solution? Provide .apk file to every user who installed your application with detailed instructions on how to:
Unpack your .apk file
Replace Qt libraries
Zipalign / pack / signtool to a new .apk
Install .apk with modified Qt libraries
Let's talk about iOS. Many say it is not possible to use LGPLv3 with iOS because of static linking. Wrong. Again, you just need to give the end user the possibility to replace Qt libraries. How? Provide your object files for the end user to relink. Or even better, put all your application code and resources in a separate Qt Quick plugin which will compile in a static library archive (technically just all object files concatenated together) for iOS. Then for every user who installed your application you have to provide instructions on how to replace Qt libraries:
Download project files and object files from your website
Download XCode and developer tools from Apple website
Replace Qt libraries
Deploy application to your device
Before this was not possible because in order to deploy on the device the user had to enroll Apple Developer Program. But this is not the case any more. You can launch your app on a device using a free Apple ID account
The end user rights are protected. They can replace Qt libraries. Just make sure you do required steps:
Mention in your application that you use Qt libraries and also mention you use them under LGPLv3 license. Provide a link to LGPLv3 lincese.
Make sure your setup of replacing Qt libraries work. Set up a clean virtual machine and do everything step by step. Document it for the end users.
When the users who downloaded your application want to replace Qt libraries, provide them everything so they can do it.
Actually I don't think anyone would care. But you have to be ready just in case. Do not scream you use Qt LGPLv3 on Qt forums, but make sure you have it visible somewhere down in your application's "About" screen. Qt company does not have resources to scan every application from the App Store if it uses Qt or not. Neither they will touch you if you are a small-near-zero-profit. They have more important things to do.
It is very dissapointing however to see absolutely no help from people who work in Qt on the LGPL subject. Most likely all developers were instructed to answer "IANAL, please contact our legal department". The legal department will tell you - buy our commercial license, it's the only option. On the Qt website you can find Obligations of the LGPL. I am not surprised, there is no word about static linking and providing object files for re-link on this page. Qt company simply prefers not to tell anyone it is possible.
From my point of view LGPL was a huge step which enabled a lot of application to use Qt without disclosing their source code bringing huge popularity to Qt. Not to mention Nokia was the one who sponsored Qt on Mobile first (Symbian and then MeeGo).
Also thinking about MeeGo and Blackberry, there was no problem with developing closed source mobile apps that use Qt and publishing them in respective app stores. No commercial license needed.
Update:
This has been done before. LGPL is possible with static linking and App Store. https://news.ycombinator.com/item?id=4302517
In case the question gets closed as off-topic, I copied the answer here
https://opensource.stackexchange.com/questions/6463/in-2018-if-i-use-c-qt-5-10-0-to-build-a-closed-source-application-requires-ope/6495#6495
Yes, it's possible.
You can use this Qt app template:
https://marketplace.qt.io/products/qt-lgpl-app-template
On IOS it's impossible to relink the App, so it's LGPL V3.0 incompatible (user can't replace Qt libraries)
But this template generates a redistributable .zip Qt project on every rebuild.
Their entire private project is distributed in a compiled .a library, so a user can open project in Qt Creator, rebuild their application and load it on their ipad / iphone, and your source code stays protected
Note: If you are using the qtquick compiler, you must relink it to the same version of Qt.
This .zip file can be uploaded to your own URL or you can add it to your software resources.
You can use the same template in an Android app, a static Windows app, etc.
It's the same as #psyched says, but 100% automatically.

Is there an online license statement for OpenCV where I can point to?

I used the OpenCV library in my Android application. I know it is BSD license and I wish to put a link to the license statement in my 'About' page.
However I failed to find the license statement within the official page itself (http://opencv.org/) and Google.. I can only find old statements in someone else's website.
Just wondering if there is an online official version where my app can point to, such as the one below:
http://scorpion.tordivel.no/help/GettingStarted/OpenCVLicence.htm
Thanks!
As mentioned here, OpenCV is BSD 3-Clause License.
The text you are searching for actually really is not on the homepage.
You can find the licence.txt in the project download package in the doc directory though.

view pdf in program(delphi) by use free library(not activeX)

Is there are any open source or free-ware library to display PDF file in my Delphi program?
I had looked for one, but most of them are commercial or not fully functional.
PS: this solution need to be cross platform by using wine.
One possible solution might be to include the open source SumatraPDF viewer with your program and use it to display the pdf's.
http://blog.kowalczyk.info/software/sumatrapdf/index.html
One nice thing about SumatraPDF, other than it being open source, is that it doesn't require an install. It consists solely of a single .exe, so you could just stick the .exe in your app's folder and call it to display pdf's. SumatraPDF is a pretty bare-bones viewer, so it may be one of the ones you've already looked at and rejected as "not fully functional", but I'm not sure whether you're going to find any perfect open source solution.
As others brought up in the similar thread that was linked from this one, you might consider using the Gnostice library or the WPCubed wpdfviewer component. You have to purchase a developer's license for those, but then can incorporate them in your app and deploy as many as you want with no runtime licensing fees.
My answer to this question discusses the Adobe API.
I missed the PS. Some other answers to the same question may help.

Resources