There are several options to achieve your aim, choosing the best depends mostly on the license and distribution terms
Free license (LPPL etc): Upload to CTAN
This is the best option, as your packages will automatically (after a short delay) appear in TeX Live and MikTeX. In this case you don't have to prepare a lot but simply upload.
Semi-free (unfit for TL but distributable): Upload to tlcontrib
If the package is not suitable for TeX Live (due to license reasons or some others), it might happen that even if you have uploaded it to CTAN, it will not appear in TeX Live. In this case, if the package at least can be distributed, you can upload it to tlcontrib and it will be available. But you have to prepare TDS layout of your package.
Commercial, private, internal: Create your own TeX Live repository
There are already several additional TeX Live repositories (tlcritical, tlptexlive, tlcontrib, ...). You can create your own repository and make it available only to those you want to. This requires a bit of work which I hope I have more or less completely documented in http://www.tug.org/svn/texlive/trunk/Master/tlpkg/doc/repository-setup.txt?view=markup . The main programs to get this running are tl-update-tlpdb
and tl-update-tlnet
.
.zip
file with a flat directory structure. One can submit aTDS
in addition, but that causes lots of extra pain for all involved people (except for the end-user, of course).