[1.1.x] Sikuli dependencies and commercial usage of sikuli jar

Asked by Ben

I have several questions , related to whether and how I can commercially use sikuli library in another commercial product.

Background:

WE have a testing product, which is commercial and has no image and record/playback support. And we plan to build a solution for image record and support.

We can use OpenCV to build from ground, or based on some open source solution, which provides java API(build on openCV)

I found sikuli project already has some library which can be called by java directly, so that it is technically possible for us to use sikuli's java library in our commercial product.

I want to know:
1. is it commercial allowed for a commercial tool to use sikuli's java jar to build a image record/playback solution?
   as sikuli itself is MIT licensed, i see no reason why can't . If can't , pls explain why can't

2. I see sikuli already uses OpenCV. IF i just use sikuli's core API to build a solution, (by just call sikuli's java API to do image match and do action , etc.. ) . Is there any other third party library used in such case ? I didn't see sikuli project officially declare usage of its all third party library including openCV

3. we don't need to change sikuli's any source code, can we copy related sikuli's source code to our commercial product and use it OR can only use it in it's downloaded original jar file OR just can't commercially use in any way ?

If I can't commercially use sikuli's java core API , can I contact sikuli owner, and commercially use it at some price ? Who should i contact for in such case.

If no possible way to commercially use sikkuli's core java API in a commercial product. Please also mention it. So that we can check other solution or build our own solution based on open CV.

Question information

Language:
English Edit question
Status:
Solved
For:
SikuliX Edit question
Assignee:
No assignee Edit question
Solved by:
RaiMan
Solved:
Last query:
Last reply:
Revision history for this message
Best RaiMan (raimund-hocke) said :
#1

These are the Maven dependencies:

 <dependencies>
  <dependency>
   <groupId>commons-cli</groupId>
   <artifactId>commons-cli</artifactId>
   <version>1.2</version>
  </dependency>
  <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-exec</artifactId>
   <version>1.3</version>
  </dependency>
  <dependency>
   <groupId>com.melloware</groupId>
   <artifactId>jintellitype</artifactId>
   <version>1.3.9</version>
  </dependency>
  <dependency>
   <groupId>com.nativelibs4java</groupId>
   <artifactId>bridj</artifactId>
   <version>0.7.0</version>
  </dependency>
 </dependencies>

IMHO none of these conflict with a commercial usage of sikulixapi.jar.

The native library packages like sikulixlibswin-1.1.1.jar (which are bundled in sikulixapi.jar after setup or a dependency when using sikulixapi.jar in a Maven project) contain the relevant native libraries of OpenCV and Tesseract (on Windows and Mac) and should not conflict with a commercial usage as well.

The rest, that affects record/playback (not really implemented in SikuliX besides the image capture feature) is only based on standard Java features (mainly Java AWT Robot).

You might as well copy sikulixapi's source code, which would allow to get rid of some packages/classes, that you might not need in your case.
If you are interested, I can make a stripped down project for that.

Another option might be to look into the version 2 project (), where I already have moved the complete search API towards OpenCV to the Java level, which means, that no native bridging code is needed any more besides the standard OpenCV packages.

All the best.

In case: there is a donation button on sikulix.com ;-)

Revision history for this message
Ben (xufengbing) said :
#2

thanks a lot for for detail answer for this question.

Revision history for this message
Ben (xufengbing) said :
#3

Thanks RaiMan, that solved my question.