Directory Studio
  1. Directory Studio
  2. DIRSTUDIO-810

Fullscreen plugin is /not/ under the Apache license

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-M4 (2.0.0.v20130125)
    • Component/s: None
    • Labels:
      None

      Description

      The fullscreen plugin was copied source-for-source from https://github.com/bandlem/Fullscreen/ under the Eclipse Public License.

      In revision 1229632 the source code was modified to indicate that it was released under the Apache License. This is not the case.

      http://svn.apache.org/viewvc?view=revision&revision=1229632

      Please remove the Apache License from these files as I do not give permission for these to be relicensed without prior consultation.

      The PLUGIN_ID in the Activator also needs to be renamed if you are doing this wholesale to avoid problems where the real plugin may be available.

        Activity

        Hide
        Pierre-Arnaud Marcelot added a comment -

        Hi Alex,

        You're absolutely right.

        The files were caught in a batch modification script I have run prior to a previous release and I should have been more careful about the files it was applied on.

        I just removed the wrongly attributed Apache license with revision 1333448 and chose a different plugin ID in the activator.
        http://svn.apache.org/viewvc?rev=1333448&view=rev

        Thanks for letting us know and please accept my sincere apologies about this mistake.

        Regards,
        Pierre-Arnaud

        Show
        Pierre-Arnaud Marcelot added a comment - Hi Alex, You're absolutely right. The files were caught in a batch modification script I have run prior to a previous release and I should have been more careful about the files it was applied on. I just removed the wrongly attributed Apache license with revision 1333448 and chose a different plugin ID in the activator. http://svn.apache.org/viewvc?rev=1333448&view=rev Thanks for letting us know and please accept my sincere apologies about this mistake. Regards, Pierre-Arnaud
        Hide
        Pierre-Arnaud Marcelot added a comment -
        Show
        Pierre-Arnaud Marcelot added a comment - Fixed at revision 1333448. http://svn.apache.org/viewvc?rev=1333448&view=rev
        Hide
        Alex Blewitt added a comment -

        Thanks, that's great.

        BTW the empty bar is caused when the setToolbar is called on the NSWindow, which I tried to capture with the windowOpened call. I think if you invoke the setToolbar on the main application window you can turn it off.

        This is how it's done in the main plugin:

        https://github.com/bandlem/Fullscreen/blob/master/plugins/com.bandlem.eclipse.fullscreen.ui/src/com/bandlem/eclipse/fullscreen/ui/Startup.java

        The 'Startup' is invoked by the Eclipse early startup mechanism (not sure if it's there in the RCP app) which in turn gets the (already opened) window and calls the setFullScreen mode.

        It should be kicked off by the plugin, which you've got in the plugin.xml:

        14 <extension
        15 point="org.eclipse.ui.startup">
        16 <startup
        17 class="org.apache.directory.studio.rcp.fullscreen.Startup"></startup>
        18 </extension>

        http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_ui_startup.html

        Since this is done by the workbench, you may not get this call injected if you're running in a workbenchless RCP. You might need to find some other way of invoking the call once the window has been created.

        Hope that helps,

        Alex

        Show
        Alex Blewitt added a comment - Thanks, that's great. BTW the empty bar is caused when the setToolbar is called on the NSWindow, which I tried to capture with the windowOpened call. I think if you invoke the setToolbar on the main application window you can turn it off. This is how it's done in the main plugin: https://github.com/bandlem/Fullscreen/blob/master/plugins/com.bandlem.eclipse.fullscreen.ui/src/com/bandlem/eclipse/fullscreen/ui/Startup.java The 'Startup' is invoked by the Eclipse early startup mechanism (not sure if it's there in the RCP app) which in turn gets the (already opened) window and calls the setFullScreen mode. It should be kicked off by the plugin, which you've got in the plugin.xml: 14 <extension 15 point="org.eclipse.ui.startup"> 16 <startup 17 class="org.apache.directory.studio.rcp.fullscreen.Startup"></startup> 18 </extension> http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_ui_startup.html Since this is done by the workbench, you may not get this call injected if you're running in a workbenchless RCP. You might need to find some other way of invoking the call once the window has been created. Hope that helps, Alex
        Hide
        Joerg Schaible added a comment -

        @Pierre-Arnaud: AFAICS we (at Apache) cannot distribute EPL sources or keep them in our repository. It is OK to redistribute an EPL binary or to download the sources as artifact and build them and deliver the result, but the source distribution may not contain them. Compare discussion here: https://cwiki.apache.org/OOOUSERS/ip-plan-for-apache-openoffice.html

        Show
        Joerg Schaible added a comment - @Pierre-Arnaud: AFAICS we (at Apache) cannot distribute EPL sources or keep them in our repository. It is OK to redistribute an EPL binary or to download the sources as artifact and build them and deliver the result, but the source distribution may not contain them. Compare discussion here: https://cwiki.apache.org/OOOUSERS/ip-plan-for-apache-openoffice.html
        Hide
        Pierre-Arnaud Marcelot added a comment -

        Thanks for the tip.

        That's probably the case.

        I will try to confirm this and to find another approach.

        Thanks,
        Pierre-Arnaud

        Show
        Pierre-Arnaud Marcelot added a comment - Thanks for the tip. That's probably the case. I will try to confirm this and to find another approach. Thanks, Pierre-Arnaud
        Hide
        Pierre-Arnaud Marcelot added a comment -

        Hi Joerg,

        At the time we started the Apache Directory Studio (back in 2006), I remember one of our members asked the legal team if the EPL license was compatible with the Apache license and AFAIR the answer was positive.

        We hadn't been aware that it was only the case for the binary form only (I'm not sure it was the case or there was such a distinction back then).

        In any case, looking at the link you provided and this other page http://www.apache.org/legal/resolved.html#category-b, it's now clear that including source file under the EPL license is not allowed.

        I'm going to open another JIRA for a review and removal of any EPL source file from Apache Directory Studio repository.

        Thanks for letting us know.

        Regards,
        Pierre-Arnaud

        Show
        Pierre-Arnaud Marcelot added a comment - Hi Joerg, At the time we started the Apache Directory Studio (back in 2006), I remember one of our members asked the legal team if the EPL license was compatible with the Apache license and AFAIR the answer was positive. We hadn't been aware that it was only the case for the binary form only (I'm not sure it was the case or there was such a distinction back then). In any case, looking at the link you provided and this other page http://www.apache.org/legal/resolved.html#category-b , it's now clear that including source file under the EPL license is not allowed. I'm going to open another JIRA for a review and removal of any EPL source file from Apache Directory Studio repository. Thanks for letting us know. Regards, Pierre-Arnaud
        Hide
        Alex Blewitt added a comment -

        OK, can we include the com.bandlem.fullscreen plugin in its binary form in Apache Directory Studio? That would still give the functionality and allow seamless integration into other Eclipse installations which already have the feature installed without conflict.

        Show
        Alex Blewitt added a comment - OK, can we include the com.bandlem.fullscreen plugin in its binary form in Apache Directory Studio? That would still give the functionality and allow seamless integration into other Eclipse installations which already have the feature installed without conflict.
        Hide
        Pierre-Arnaud Marcelot added a comment -

        Yeah, that's what I have in mind, Alex.
        Including it as a binary is allowed.

        In any case, we are going to remove our "fork" of your fullscreen code from our SVN repository.
        I'm already working on reviewing and removing all the EPL source files that shouldn't be there (there aren't that many of them).

        Is your plugin available on any Maven repository?
        Would you allow us to include it in our internal Maven repository in the case where it can't be found on any repository?

        Thanks.

        Show
        Pierre-Arnaud Marcelot added a comment - Yeah, that's what I have in mind, Alex. Including it as a binary is allowed. In any case, we are going to remove our "fork" of your fullscreen code from our SVN repository. I'm already working on reviewing and removing all the EPL source files that shouldn't be there (there aren't that many of them). Is your plugin available on any Maven repository? Would you allow us to include it in our internal Maven repository in the case where it can't be found on any repository? Thanks.
        Hide
        Alex Blewitt added a comment -

        The plugin is available as a P2 repository (Eclipse's native mechanism) at GitHub, but not Maven accessible. (I've yet to find a good way of generating something which is both Maven consumable and P2 consumable at the same time.) Right now it's not buildable with Maven but I could put together some Maven/Tycho build scripts/poms if that would help. I'm not sure if Maven Central accepts plugins/features in Tycho yet, or if that would even help you.

        Show
        Alex Blewitt added a comment - The plugin is available as a P2 repository (Eclipse's native mechanism) at GitHub, but not Maven accessible. (I've yet to find a good way of generating something which is both Maven consumable and P2 consumable at the same time.) Right now it's not buildable with Maven but I could put together some Maven/Tycho build scripts/poms if that would help. I'm not sure if Maven Central accepts plugins/features in Tycho yet, or if that would even help you.
        Hide
        Alex Blewitt added a comment -

        Oh, and to answer the other question, I'm happy for you to host it on your internal one if you want to. I'm actually pretty happy it's used in ADS and was really just pointing out the licensing issue.

        Show
        Alex Blewitt added a comment - Oh, and to answer the other question, I'm happy for you to host it on your internal one if you want to. I'm actually pretty happy it's used in ADS and was really just pointing out the licensing issue.
        Hide
        Pierre-Arnaud Marcelot added a comment -

        Yeah, we also have some JIRA issues related to the support of P2 for Apache Directory Studio, which is released an RCP app and an update site for installation in Eclipse. I have yet to find the time to dive into P2 and integrate the generation of the repository in our build.

        Also, we're looking at Tycho for a long time now and maybe we can someday make the switch from our custom Maven build (Tycho didn't exist at the time we moved to Maven, so we had to find a way to build Eclipse plugins).

        Regarding the fullscreen plugin integration, for us the painless solution is really to include the jar of the plugin in our internal Maven repository.
        When building the OS X versions of the RCP application we would pull the plugin from the repository and include it in the distribution.
        If and when the plugin becomes available in a central Maven repository, we would get rid of our copy to access it directly from there.

        Many thanks for everything, Alex! (and again, apologies for the stupid mistake...)
        I really love the ability to use Studio as a fullscreen app on OS X Lion.

        Show
        Pierre-Arnaud Marcelot added a comment - Yeah, we also have some JIRA issues related to the support of P2 for Apache Directory Studio, which is released an RCP app and an update site for installation in Eclipse. I have yet to find the time to dive into P2 and integrate the generation of the repository in our build. Also, we're looking at Tycho for a long time now and maybe we can someday make the switch from our custom Maven build (Tycho didn't exist at the time we moved to Maven, so we had to find a way to build Eclipse plugins). Regarding the fullscreen plugin integration, for us the painless solution is really to include the jar of the plugin in our internal Maven repository. When building the OS X versions of the RCP application we would pull the plugin from the repository and include it in the distribution. If and when the plugin becomes available in a central Maven repository, we would get rid of our copy to access it directly from there. Many thanks for everything, Alex! (and again, apologies for the stupid mistake...) I really love the ability to use Studio as a fullscreen app on OS X Lion.
        Hide
        Alex Blewitt added a comment -

        Painless solution sounds good to start with You can get the latest binary from the Update site, but basically it's a wrapper for the features and plugins here:

        https://github.com/bandlem/github.bandlem.com/tree/master/fullscreen/features/
        https://github.com/bandlem/github.bandlem.com/tree/master/fullscreen/plugins/

        By the way, I understand this bug has been fixed upstream for Eclipse 3.8/4.2 and this is now natively supported.

        Finally, re: the tycho build, the appropriate example to build from is here:

        http://git.eclipse.org/c/tycho/org.eclipse.tycho-demo.git/tree/itp04-rcp

        Alex

        Show
        Alex Blewitt added a comment - Painless solution sounds good to start with You can get the latest binary from the Update site, but basically it's a wrapper for the features and plugins here: https://github.com/bandlem/github.bandlem.com/tree/master/fullscreen/features/ https://github.com/bandlem/github.bandlem.com/tree/master/fullscreen/plugins/ By the way, I understand this bug has been fixed upstream for Eclipse 3.8/4.2 and this is now natively supported. Finally, re: the tycho build, the appropriate example to build from is here: http://git.eclipse.org/c/tycho/org.eclipse.tycho-demo.git/tree/itp04-rcp Alex
        Hide
        Pierre-Arnaud Marcelot added a comment -

        Thanks for these links.

        Do you mean that fullscreen is supported by default on Eclipse 3.8/4.2 on OS X Lion?

        Show
        Pierre-Arnaud Marcelot added a comment - Thanks for these links. Do you mean that fullscreen is supported by default on Eclipse 3.8/4.2 on OS X Lion?
        Hide
        Alex Blewitt added a comment -

        The bug is marked as fixed in Eclipse:

        https://bugs.eclipse.org/bugs/show_bug.cgi?id=349148

        The commit is here:

        http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=9b1e6a553a714c81f1d1f1cccddf187918d20587

        Note that this behaviour is dynamically dependent on 10.7 but will need an SWT for 3.8 or 4.2 in order to work.

        Show
        Alex Blewitt added a comment - The bug is marked as fixed in Eclipse: https://bugs.eclipse.org/bugs/show_bug.cgi?id=349148 The commit is here: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=9b1e6a553a714c81f1d1f1cccddf187918d20587 Note that this behaviour is dynamically dependent on 10.7 but will need an SWT for 3.8 or 4.2 in order to work.
        Hide
        Pierre-Arnaud Marcelot added a comment -

        Ok, I see.
        That's great.

        Thanks again for those links.

        Show
        Pierre-Arnaud Marcelot added a comment - Ok, I see. That's great. Thanks again for those links.

          People

          • Assignee:
            Pierre-Arnaud Marcelot
            Reporter:
            Alex Blewitt
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development