LimeWire is open source. This means the code isn't secret—anyone can download it, play around with it, and make LimeWire better. Here's the information you need to get started.
You can download everything from the Web for free. The software and source code will take up around 700 MB of hard disk space, so make sure you have at least that much available. If you get stuck on any of these steps, try to Start Over. If it still doesn't work, get help in the Programming LimeWire forum.
LimeWire's Web site is a Wiki that grows when readers become editors and writers. Finished and bored? Write your own guide and add it to this page! Or, check out the Hello World examples and code Documentation.
Get the Code and Make LimeWire
To get started programming LimeWire, install the Java Development Kit and get Eclipse. Use Eclipse to download the Source Code and set up a Run Configuration. You'll make a working copy of LimeWire from the source code on your computer.
If you haven't run LimeWire on your computer before, Add UDP Host Caches so LimeWire will connect.
Didn't work? Follow the steps to delete everything and Start Over.
Use the Command Line
Instead of doing it all inside Eclipse, you can get the code with the Command Line. To get a Unix command line on Windows, install Cygwin. Use CVS to download the source code. Bring it into Eclipse by making a Project. Start LimeWire with a Run Configuration.
For more you can do there, check out the command line Cheat Sheet.
Change the Code and Make a Patch
Now that you've got the LimeWire source code, it's time to start hacking. These steps will show you how to add something new to LimeWire's menu, as well as use the Team features of Eclipse.
Make the JARs and Give LimeWire to a Friend
To run LimeWire outside of Eclipse, package the code into .jar files. Open source contributor Rashid.nuces wrote Creating JAR files for LimeWire, a guide to doing it with Eclipse. The Command Line method is to install Ant, and write an Ant script that will Make the JARs. For an example, check out Lost in the Space.