Source code repository of KNIME - where to find?

Hi folks,

 

where can I fetch the source code of KNIME? Is there an anonymus SVN or GIT access available?

 

Cheers,

eselmeister

Just answered in this post.

Hi gabriel,

 

yep, I've still tried it like described in the referenced post. But that way is insufficient. You're right, it works to import plug-ins and fragments with source folders from the running platform. But that causes several serious problems. The MANIFEST.MF files are hard to edit due to the point that the lines are wrapped after 70 characters. Annoying. Furthermore, the source folders are missing in some plug-ins, e.g.:

  • org.knime.base
  • org.knime.core
  • org.knime.core.util
  • ...

Some functionality is bundled in *.jar files. But the sources of the jars are not accessible. That makes it impossible to make small improvements, for example when trying to execute KNIME under the latest Eclipse release, see http://tech.knime.org/forum/knime-general/eclipse-43m6-cannot-install-via-update-site.

 

[deleted. Please be constructive when using our forum.]

 

Cheers,

Philip

The sources for core/base are, of course, available inside the corresponding plug-ins. Can
you please check again.

Got it! The sources for org.knime.core.util will be available with KNIME 2.8, sorry for that. In the meantime you can install "Sources for KNIME Utilities (do not install!)" from our update site.

Please make a KNIME source code repository easily available. There are many great options, such as BitbucketGithub, Launchpad, etc. I.e. it would be very useful to be able to see/collaborate on the KNIME source code via a version control system with download support.

I am still interested in downloading the KNIME source code. I have downloaded the SDK. Where can I access the KNIME source files? 

You can browse the source code in the SDK if you search for a class. The sources themselves and the plug-ins called *_source*.jar in the plugins directory.

I agree with brylie. The Knime source code should be easily accessible. I wasn't yet able to get it and every single thread has a different description how it works.

Download the KNIME SDK and update the KNIME SDK via the update site including the sources for the Math node. Create a new plug-in via New > New KNIME node extension and make sure you have an dependency defined in the plugin.xml to the Math node. For further details on how develop your own nodes, see our developer guide.

What are the exact commands to do this? In which menu? Updating just tells me there are no updates. How do I define a dependency to a node? Why should I even do that? I just want to see and browse the source code.

I highly suggest to at least make a document which shows each step with screen shots and the end result. But as brylie said an online browsable repository would be the desired solution.

 

I am a researcher and I would rather not spend time looking into tiny details of how to obtain the so called full open source software. There are several others I can use.

Based on what I have seen, and read. It seems to me that KNIME doesn't provide the "source code" as defined under the GNU General Public License: The “source code” for a work means the preferred form of the work for making modifications to it.

Instead they provide the object code: “Object code” means any non-source form of a work.

Sorry, I must be missing something here...

We put quite some effort into making sure the open source version is bundled in such a way that one can instantly start developing against it. That is the most common use of the code base and we therefore do not bundle the sources with the base "KNIME SDK". The API is available online so one can quickly browse that: http://tech.knime.org/docs/api/index.html

It is simple to get access to the sources as well, if one so desires, for instance to make modifications to the core. So far people using the description on our developer pages had no problems but we'll try to make it even clearer. Just providing a dump of the KNIME source wouldn't help anyone (but it is easy to extract that from the SDK+sources) because you'd still need to setup the build process properly.

We also provide object code for various OSes so that users who only want to use KNIME do not need to first compile the code. I don't see why providing that "object code" violates the GPL. We could also bundle the sources but that would make the binaries much bigger and: see above, it's often not needed and it doesn't help much.

Cheers, Michael

 

 

My research is on testing and for the most part the API is useless to me. I am interested in the so called "dump of the KNIME source."

The quickstart guide has two steps:

- Extract the archive (if you read this here, you likely already did so).
- Launch eclipse/eclipse.exe to start the Eclipse IDE, select a workspace
  directory in the workspace prompt and continue from there.

I have done the steps, and saying "continue from there" doesn't help much because nothing was imported to my workspace directory and I can't see any files in my package explorer. 

How else am I supposed to extract the source code from the SDK+sources? Is there another step after "continue from there"? 

I am not sure if this problem is platform specific but I am definitely sure many people who post similar questions probably had the same issue.

Hi,

Go to the Plug-in development perspective, click on the Plug-ins view, and select a bundle that has the sources installed. From the context menu select Import As |> Source Project. This way you will have the sources within your workspace. (In case anything is missing from the source bundle please send a message to the developer forum, mistakes can happen, though it is a long time since I have seen one.)

Obviously if you prefer, you can just unzip the source bundle and import the sources from there, but I found the previous steps easier (though I usually do not need to import the sources I do not want to modify, having a source attachement is more than enough -and very useful!- for daily work). Probably with Buckminster this can also be automated.

So usually the most important step is installing the source bundles for the bundles you want to use. (For the eclipse bundles, you might need to look for a different update site, for example: http://download.eclipse.org/releases/indigo/)

Cheers, gabor

PS.: I found it annoying at first that I cannot just browse the sources from a browser, or just link to it, but got used to this kind of workflow. Probably a repository with the released sources on github would be a nice to have feature.

Great!  Thank you for the prompt response!

Is this still possible? I tried it with knime.org.base, but I didn't get any source files, only class files. Am I supposed to get sources from the KNIME github repo, or are the knime.org.base sources available from the KNIME update site somewhere? If so, how do I find the version corresponding to my target platform?

Thanks,
Joe