You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Garret Wilson <ga...@globalmentor.com> on 2007/12/30 21:55:19 UTC

programmatic API for repository creation

I'm looking for a way to create repositories programmatically. I've 
never used Subversion as my server---I've only use Subversion behind 
Apache mod_dav.

If I run the standalone Subversion server, is there a way for me to 
programmatically create and destroy repositories remotely?

Thanks,

Garret

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: programmatic API for repository creation

Posted by Garret Wilson <ga...@globalmentor.com>.
Yeah, the more I think about it, that's what I'm leaning more 
towards---just running a webapp on https://svn.example.com:8080 and 
shelling to svnadmin for certain commands. Maybe 
https://svn.example.com:8080/svnadmin/create or something.

Thanks for all the feedback.

Garret

Mark Phippard wrote:
> On Dec 31, 2007 9:16 AM, Garret Wilson <ga...@globalmentor.com> wrote:
>   
>> Awesome! Although it won't help me create a repository remotely, it will
>> allow me to create a local repository, which is a short-medium-term
>> solution.
>>
>> I had shied away from SVNKit before because its license forced me to
>> effectively open-source my application. After reading the license at
>> http://svnkit.com/license.html, though, it doesn't appear that
>> "redistribution" covers web applications. As I understand it, then,
>> simply depoying a web application that uses SVNKit wouldn't require me
>> to release the source code of the web application---would it?
>>     
>
> Couldn't you just as easily shell out and run the svnadmin command?
> If not, then the Subversion JavaHL bindings also have this ability.
> Just look at the SVNAdmin class.  Of course this also means the
> Subversion libraries themselves also have an API for this as JavaHL
> simply consumes the library API.
>
>   

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: programmatic API for repository creation

Posted by Garret Wilson <ga...@globalmentor.com>.
Anoop kumar V wrote:
> But again you are not redistributing the software that you are 
> creating right.

I don't know---am I? "Redistributing" here is part of the legal language 
of the license, and the license doesn't provide an explicit definition.

> I mean you are not forking the SVNKit code base and marketing it as a 
> better svnkit or something

What you describe is usually called "creating a derivative work", which 
is usually completely separate from simple redistribution. Whether I am 
forking the SVNKit code base is beside the point---the distinction 
between derivative works and redistribution is at least pretty well 
settled, I believe; their license covers all "redistribution", whatever 
that may be, but it definitely covers a lot more than creating a 
derivative work.

> certainly making api calls to integrate svnkit into your application 
> cannot be called redistribution,

I am not an attorney and this is not legal advice, but I believe the 
point you are trying to make here is 100% incorrect. According to the 
SVNKit license, if you redistribute SVNKit, you must make your 
application open-source even if it only makes API calls to SVNKit. That 
much seems plain.

Your pondering whether an application makes SVNKit API calls does not 
address what constitutes "redistribution "---rather, that addresses 
whether your application "uses" SVNKit, and I think it's clear that if 
it makes SVNKit API calls, it uses SVNKit.

> else "every" application that uses svnkit would have the same issue 
> and that cannot be too good from a licensing point of view.

I think (my personal opinion) it's clear that if you give or sell 
someone a copy of your application and your application makes API calls 
to SVNKit, you have to make the application open source. There doesn't 
seem to be any question about that. You may like it or not, but that's 
what the license says.

The only open question here is whether deploying a web application that 
uses SVNKit (and making API calls is definitely "use") constitutes 
redistribution of SVNKit under the SVNKit license.

Garret

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: programmatic API for repository creation

Posted by Anoop kumar V <an...@gmail.com>.
I see your point - they want you to purchase a license if you do not want to
release the source of your application.

It is sort of like a contaminant license - if you know what I mean. This is
not a true free and open source library - pity that.

I saw the word open source & java and assumed it to be really free like GPL
or apache. my bad.
You can still contact them and ask if there is a way around.

But again you are not redistributing the software that you are creating
right. I mean you are not forking the SVNKit code base and marketing it as a
better svnkit or something - so not sure what exactly is redistributing -
certainly making api calls to integrate svnkit into your application cannot
be called redistribution, else "every" application that uses svnkit would
have the same issue and that cannot be too good from a licensing point of
view.


On Dec 31, 2007 11:11 AM, Garret Wilson <ga...@globalmentor.com> wrote:

> Anoop kumar V wrote:
> > No, you do not have to "open source" your application. At the very
> > least, you would have to include the note (copyright notice and/or
> > disclaimer) and a pointer where the latest source code can be obtained
> > from.
> ...
>
> > As I understand, you will be a client to the SVNKit libraries - and
> > not really modifying the source code of SVNKit ie., you will only be
> > calling the API from within your web application.
>
> That all sounds good, but unfortunately that's not what the SVNKit
> license at http://svnkit.com/license.html says. In particular:
>
> "Redistributions in any form must be accompanied by information on how
> to obtain complete source code for the software that uses SVNKit and any
> accompanying software that uses the software that uses SVNKit."
>
> It doesn't matter whether I'm modifying the SVNKit source code or not.
> If I redistribute SVNKit, I must provide access to the source code of my
> "software that uses SVNKit". In fact, I even have to open-source
> "software that uses the software that uses SVNKit".
>
> It is unclear whether deploying a web application using SVNKit is
> "redistribution" of SVNKit under the license, as the license does not
> define "redistribution". But either way, I don't see how the text of the
> license can support your interpretation above.
>
> Garret
>

Re: programmatic API for repository creation

Posted by Garret Wilson <ga...@globalmentor.com>.
Anoop kumar V wrote:
> No, you do not have to "open source" your application. At the very 
> least, you would have to include the note (copyright notice and/or 
> disclaimer) and a pointer where the latest source code can be obtained 
> from.
...

> As I understand, you will be a client to the SVNKit libraries - and 
> not really modifying the source code of SVNKit ie., you will only be 
> calling the API from within your web application.

That all sounds good, but unfortunately that's not what the SVNKit 
license at http://svnkit.com/license.html says. In particular:

"Redistributions in any form must be accompanied by information on how 
to obtain complete source code for the software that uses SVNKit and any 
accompanying software that uses the software that uses SVNKit."

It doesn't matter whether I'm modifying the SVNKit source code or not. 
If I redistribute SVNKit, I must provide access to the source code of my 
"software that uses SVNKit". In fact, I even have to open-source 
"software that uses the software that uses SVNKit".

It is unclear whether deploying a web application using SVNKit is 
"redistribution" of SVNKit under the license, as the license does not 
define "redistribution". But either way, I don't see how the text of the 
license can support your interpretation above.

Garret

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: programmatic API for repository creation

Posted by Anoop kumar V <an...@gmail.com>.
No, you do not have to "open source" your application. At the very least,
you would have to include the note (copyright notice and/or disclaimer) and
a pointer where the latest source code can be obtained from. That is if you
cannot include the source code itself. But the source code keeps changing
with new release, so a pointer / link would work best - IMO.

As I understand, you will be a client to the SVNKit libraries - and not
really modifying the source code of SVNKit ie., you will only be calling the
API from within your web application. If that is the case purely (and I am
not a lawyer) then I think you should be good to go with the above.

Thanks,
Anoop


On Dec 31, 2007 9:54 AM, Mark Phippard <ma...@gmail.com> wrote:

> On Dec 31, 2007 9:16 AM, Garret Wilson <ga...@globalmentor.com> wrote:
> > Awesome! Although it won't help me create a repository remotely, it will
> > allow me to create a local repository, which is a short-medium-term
> > solution.
> >
> > I had shied away from SVNKit before because its license forced me to
> > effectively open-source my application. After reading the license at
> > http://svnkit.com/license.html, though, it doesn't appear that
> > "redistribution" covers web applications. As I understand it, then,
> > simply depoying a web application that uses SVNKit wouldn't require me
> > to release the source code of the web application---would it?
>
> Couldn't you just as easily shell out and run the svnadmin command?
> If not, then the Subversion JavaHL bindings also have this ability.
> Just look at the SVNAdmin class.  Of course this also means the
> Subversion libraries themselves also have an API for this as JavaHL
> simply consumes the library API.
>
> --
> Thanks
>
> Mark Phippard
> http://markphip.blogspot.com/
>

Re: programmatic API for repository creation

Posted by Mark Phippard <ma...@gmail.com>.
On Dec 31, 2007 9:16 AM, Garret Wilson <ga...@globalmentor.com> wrote:
> Awesome! Although it won't help me create a repository remotely, it will
> allow me to create a local repository, which is a short-medium-term
> solution.
>
> I had shied away from SVNKit before because its license forced me to
> effectively open-source my application. After reading the license at
> http://svnkit.com/license.html, though, it doesn't appear that
> "redistribution" covers web applications. As I understand it, then,
> simply depoying a web application that uses SVNKit wouldn't require me
> to release the source code of the web application---would it?

Couldn't you just as easily shell out and run the svnadmin command?
If not, then the Subversion JavaHL bindings also have this ability.
Just look at the SVNAdmin class.  Of course this also means the
Subversion libraries themselves also have an API for this as JavaHL
simply consumes the library API.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: programmatic API for repository creation

Posted by Garret Wilson <ga...@globalmentor.com>.
Awesome! Although it won't help me create a repository remotely, it will 
allow me to create a local repository, which is a short-medium-term 
solution.

I had shied away from SVNKit before because its license forced me to 
effectively open-source my application. After reading the license at 
http://svnkit.com/license.html, though, it doesn't appear that 
"redistribution" covers web applications. As I understand it, then, 
simply depoying a web application that uses SVNKit wouldn't require me 
to release the source code of the web application---would it?

Garret

Anoop kumar V wrote:
> The SVNKit library provides a Java API to create svn repositories.
>
> SVNKit is available at:
> http://svnkit.com/download/index.php
>
> check this link further:
> http://svn.svnkit.com/repos/svnkit/trunk/doc/wiki/Setting_Up_A_Subversion_Repository.wp
>
>
> On Dec 30, 2007 5:42 PM, Les Mikesell <lesmikesell@gmail.com 
> <ma...@gmail.com>> wrote:
>
>     Garret Wilson wrote:
>     > I'm looking for a way to create repositories programmatically. I've
>     > never used Subversion as my server---I've only use Subversion behind
>     > Apache mod_dav.
>     >
>     > If I run the standalone Subversion server, is there a way for me to
>     > programmatically create and destroy repositories remotely?
>
>     Client side operations aren't allowed to do that, but you can always
>     'ssh svadmin ...' commands remotely and programmatically with
>     appropriate password or ssh key authentication.
>
>     --
>       Les Mikesell
>         lesmikesell@gmail.com <ma...@gmail.com>
>
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>     <ma...@subversion.tigris.org>
>     For additional commands, e-mail: users-help@subversion.tigris.org
>     <ma...@subversion.tigris.org>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: programmatic API for repository creation

Posted by Anoop kumar V <an...@gmail.com>.
The SVNKit library provides a Java API to create svn repositories.

SVNKit is available at:
http://svnkit.com/download/index.php

check this link further:
http://svn.svnkit.com/repos/svnkit/trunk/doc/wiki/Setting_Up_A_Subversion_Repository.wp


On Dec 30, 2007 5:42 PM, Les Mikesell <le...@gmail.com> wrote:

> Garret Wilson wrote:
> > I'm looking for a way to create repositories programmatically. I've
> > never used Subversion as my server---I've only use Subversion behind
> > Apache mod_dav.
> >
> > If I run the standalone Subversion server, is there a way for me to
> > programmatically create and destroy repositories remotely?
>
> Client side operations aren't allowed to do that, but you can always
> 'ssh svadmin ...' commands remotely and programmatically with
> appropriate password or ssh key authentication.
>
> --
>   Les Mikesell
>    lesmikesell@gmail.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

Re: programmatic API for repository creation

Posted by Les Mikesell <le...@gmail.com>.
Garret Wilson wrote:
> I'm looking for a way to create repositories programmatically. I've 
> never used Subversion as my server---I've only use Subversion behind 
> Apache mod_dav.
> 
> If I run the standalone Subversion server, is there a way for me to 
> programmatically create and destroy repositories remotely?

Client side operations aren't allowed to do that, but you can always 
'ssh svadmin ...' commands remotely and programmatically with 
appropriate password or ssh key authentication.

-- 
   Les Mikesell
    lesmikesell@gmail.com


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: programmatic API for repository creation

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Dec 30, 2007, at 16:13, Garret Wilson wrote:

> Ryan Schmidt wrote:
>
>> On Dec 30, 2007, at 15:55, Garret Wilson wrote:
>>
>>> I'm looking for a way to create repositories programmatically.  
>>> I've never used Subversion as my server---I've only use  
>>> Subversion behind Apache mod_dav.
>>>
>>> If I run the standalone Subversion server, is there a way for me  
>>> to programmatically create and destroy repositories remotely?
>>
>> Not built-in, no. To create a repository, you have to use  
>> svnadmin, which operates only on local filesystem paths.
>>
>> There is a web interface to some functionality of svnadmin, called  
>> svnmanager. Maybe that would interest you?
>
> It would if my Java program can submit HTTP requests to it  
> unattended and have it create repositories. Is that possible?

I have never used svnmanager so I don't know. I would say if you want  
users to be able to create their own repositories, svnmanager is a  
good tool to look at possibly using. If you want a program to create  
repositories, then you could look at the code of svnmanager perhaps  
to get ideas about how you can write your own program to do that.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: programmatic API for repository creation

Posted by Garret Wilson <ga...@globalmentor.com>.
Ryan Schmidt wrote:
>
> On Dec 30, 2007, at 15:55, Garret Wilson wrote:
>
>> I'm looking for a way to create repositories programmatically. I've 
>> never used Subversion as my server---I've only use Subversion behind 
>> Apache mod_dav.
>>
>> If I run the standalone Subversion server, is there a way for me to 
>> programmatically create and destroy repositories remotely?
>
> Not built-in, no. To create a repository, you have to use svnadmin, 
> which operates only on local filesystem paths.
>
> There is a web interface to some functionality of svnadmin, called 
> svnmanager. Maybe that would interest you?

It would if my Java program can submit HTTP requests to it unattended 
and have it create repositories. Is that possible?

Garret

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: programmatic API for repository creation

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Dec 30, 2007, at 15:55, Garret Wilson wrote:

> I'm looking for a way to create repositories programmatically. I've  
> never used Subversion as my server---I've only use Subversion  
> behind Apache mod_dav.
>
> If I run the standalone Subversion server, is there a way for me to  
> programmatically create and destroy repositories remotely?

Not built-in, no. To create a repository, you have to use svnadmin,  
which operates only on local filesystem paths.

There is a web interface to some functionality of svnadmin, called  
svnmanager. Maybe that would interest you?

http://svnmanager.sourceforge.net/



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org