Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've created a distribution of my open source application framework in a working virtual appliance. It includes everything to get started with the tutorial. The distribution is Fedora 14 running Tomcat 5.5 and Oracle 10g Express Edition, plus my framework. It is completely preconfigured and boots into a working running copy.

Would this be something you might try?

What assurances might you need to get you to try it?

Edit: The VM is just over a 2Gb download. Alternatively it is also available via 23Mb download for the source and a PDF detailing how to configure the Tomcat and Oracle dependencies.

share|improve this question
    
Try it? Well, what can it do for me? –  user1249 Dec 1 '10 at 17:03
    
@Thorbjørn: I'm not talking about the framework itself, but rather if you had a full blown implementation via a virtual appliance, would you consider using that? –  dacracot Dec 1 '10 at 18:09
    
See full answer. –  user1249 Dec 1 '10 at 18:11

6 Answers 6

Yeah, I think this is a terrific thing, especially for systems which require (potentially) complex configuration to get up and running. If you can ship a working VM image that you just "boot and go" it makes it far easier to get a system up and running for evaluation / analysis ( at a minimum). I believe that if you want people to evaluate your software and see the value in it, you need to make it as easy as possible for them to get it deployed and working so they can give it a spin.

I wouldn't make it the only means of distribution, but it's something I think many software projects should make available. I'm planning to (eventually, when I can find time) do a virtual appliance distribution of my own project. So yeah, I'm definitely on-board with this concept.

That said, I don't think having a VA distribution obviates the need to make it as easy as possible to build, deploy and configure the system via other methods. Building from source, for example. I'd still try to do as much as possible to make the source download, build, deploy, configure stuff as easy as possible.

Edit: also, just to be clear... I'm talking about this in general / conceptual terms only. Since you didn't say much (if anything) about what your actual project is or what it does, then no, I'm not actually going to download it and try it out. I'm assuming you were asking this in the context of "Would you recommend that I make this available to people who are already interested in my project and visit the website looking for a download" as opposed to "would you, Stackexchange User $FOO, want to download this appliance and try it out?"

share|improve this answer

Microsoft has had success distributing demo software using appliances, and did this with the beta of Visual Studio 2010. I think they use appliances pretty often for betas of operating systems also.

How big is the download? Could you explain more about what the framework is?

share|improve this answer
    
The VM export is just over 2Gb. –  dacracot Nov 16 '10 at 23:42
1  
I didn't want to include anything about the framework for fear that it would seem that I am just self promoting. But since you asked... sourceforge.net/projects/tox ...the appliance is not yet available. –  dacracot Nov 16 '10 at 23:44
1  
I would strongly suggest adding more content to your website demonstrating what you can do. Just having a look made me think that what you have is a "for each web request: call stored procedure, and postprocess with XSLT". –  user1249 Dec 1 '10 at 18:21

Well, I would have a couple barriers to entry:

  • Configuration would be significantly troublesome that I wouldn't want to do it on my own.
  • I have a beefy enough system to run a VM. My work machine is beefy enough, only 1 of my home machines is.
  • Configuration of the VM wouldn't fry my existing configurations.

It's an uncommon approach for open-source distribution, certainly. Typically I would prefer to just ./configure && make && make install software.

On the enterprise consumption front, it would probably go over better due to the existing VM infrastructure.

HTH.

share|improve this answer
    
Problem is, the fully working system must include Tomcat and Oracle. I can't really turn that into a "./configure && make && make", hence the VM. –  dacracot Nov 17 '10 at 19:01
    
@dacracot: Sure. I'm a lazy unixy guy. I suppose someone who wanted your app would be fairly comfortable configuring that stack, yes? no? –  Paul Nathan Nov 17 '10 at 20:06
    
Tomcat and java... probably... about 10 minutes of work. Oracle XE... not so much... 1 maybe 2 hours of work. Verses VirtualBox and importing an appliance... 15 to 30 minutes. –  dacracot Nov 17 '10 at 20:14
    
@dacrot: Haha, enterprise software. Have you thought about using Postgres? :P But I see your point - for the single user. –  Paul Nathan Nov 17 '10 at 20:19
    
Yes, I have considered Postgres, but I have yet to discover how to implement the equivalent of Oracle's SYS-REFCURSOR which is a key component of my framework. –  dacracot Nov 17 '10 at 20:49

If I wanted to stand up one of these appliances, I would be willing to go get the supporting software myself (Oracle, Tomcat, Linux, etc.), especially if you had some script or installer that would help me cobble all of the software sources together.

share|improve this answer
    
I have a PDF tutorial which gives guidance on standing up Tomcat and Oracle. It then explains how to compile and deploy the open source code with Ant. Currently the non-appliance download contains these things. So for you, it seems the appliance is unnecessary. –  dacracot Nov 19 '10 at 17:20

Would this be something you might try?

No. For a couple reasons.

Frankly, I wouldnt want to have to download a 2gig file just to try out an unknown, undocumented open-source project. Not everybody has 100MB bandwidth. Plus, you dont say what VM system this 'virtual appliance' uses, but 'virtual appliance' typically refers to VMWare. That is not a no-impact install on a machine.

Also, imo, if this is the easiest way for you to distribute the project, I'm left with the impression then that the project must be such a pain to install that it needs a virtual appliance like this to realistically test. Why would a user want to jump into that?

Also, your site has practically zero information about the project. So now you are asking people to download a 2 gig appliance, and let VMWare do whatever its going to do to your system, without any assurances your project would actually do anything useful.

I think you'd be better suited to spend your time fleshing out the site so people can read a thorough description of the project's features, as well as streamlining the installation process to the point where an appliance isnt needed.

share|improve this answer
    
Your tone is a bit harsh, perhaps, but I agree with what you're saying. Unless you're a pure hobbyist looking for some way to burn time this is not the sort of thing that someone would download. –  Todd Williamson Nov 17 '10 at 16:05
    
1) Not the easiest way to distribute and not the only way. If you look, you will see the project is available as a 23Mb tar.gz. –  dacracot Nov 17 '10 at 17:39
    
2) A little effort on sourceforge and you can get to tox.sourceforge.net and get some details. Likely not enough for a cynic like you, but not zero. –  dacracot Nov 17 '10 at 17:42
    
3) VMware Player is free and seemingly very benign. Oracle's Virtual Box is what I use and is also free and benign. –  dacracot Nov 17 '10 at 17:46
    
Finally, I appreciate your opinion, but I hope that you don't present solicited advise this way to everyone. Your tone is particularly hostile without cause. –  dacracot Nov 17 '10 at 17:50

No.

If you have an open source framework - note: Open Source - which you want me to use on a Linux platform, I want full integration with the package system on said platform. This means a maintained yum installation site or - for Debian/Ubuntu an apt-get repository - so that updates are automatic.

Please let me emphasize that: Installation, updates and removal should be automatic.

If your framework uses a database, I want the package system to pull it in as a dependency of your framework, and I want THAT too to be maintained automatically. This might disqualify your choice of Oracle as the database, but that is just life.

I do not want to run any framework in a lone virtual machine. I want to run my favorite distribution which usually do other things too and then use your framework in there.

share|improve this answer
    
Interesting points. I ment to achieve some of your goals of easy setup and teardown, but via a different means, namely the VM. –  dacracot Dec 1 '10 at 18:25
    
Strongly consider how you will keep the VM image updated, both regarding your code and the underlying Linux distribution. –  user1249 Dec 1 '10 at 18:30

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.