# How can a package be listed on CTAN but not be available in Tex Live?

Except for during [the freeze period], (i.e., most of the time) TeXLive updates to packages (not binaries) are available within a day or so of them being uploaded to CTAN.

I submitted my very first package to CTAN earlier this year and my submission was successful: http://www.ctan.org/tex-archive/macros/latex/contrib/matlab-prettifier. I last updated the package in late April 2014.

However, to this day, I have never seen my package listed as part of Tex Live 2013: the TeX Live Utility (I'm on Mac OS X) has never listed it under the "Packages" tab. I've now installed and switched to Tex Live 2014, but my package is not listed in there either.

Before I bother CTAN or TeX Live people, I'd like your thoughts on this. Does the absence of my package in Tex Live 2014 have to do with the annual freeze period? What am I doing wrong? Under what circumstances can a package be listed on the CTAN site but not be available in Tex Live?

Update: `matlab-prettifier` is now available in TeX Live 2014.

• Don't ask the CTAN team but ask on the texlive list. (The most probable cause -- if there is no problem with the licence -- is that it was overlooked.) Jun 18, 2014 at 16:45
• @UlrikeFischer Thanks for your advice. Done. Jun 18, 2014 at 18:13
• @Jubobs I think you just have to wait a little bit. The freeze of TL2013 was April 17th. My `getmap` package (uploaded in May) is at the moment also not available in TL2014. Although, I've read in a blog post that is was part of TL 2014 pretest. Maybe they just forgot to copy these packages or they simply need another day for it. I don't know if they have to recreate the packages for TL2014. Jun 18, 2014 at 19:39
• @Josef Thanks for your input. Seems we're in the same boat... Jun 18, 2014 at 19:48
• @Josef it was never part of the pretest - I just tried to get it working in pretest so that it is ready. Jun 20, 2014 at 1:39

The conditions of a package for TeX Live can be found at this page: TeX Live package contributions

I will quote some of the page to discuss the conditions.

Disclaimer: I am not part of the TeX Live team. This is just my way to see the licensing conditions and my interpretation might not be correct.

Questions can be asked in the TeX Live mailing list (`texlive` at `tug` dot `org`), see TeX Live mailing lists.

1. a) First, the package must be free (as in freedom) software, available under, for example, the LaTeX Project Public License or GNU General Public License. Please state the license explicitly in your package's source code, README, and/or other documentation. Those licenses (and others) contain instructions for how to apply them to your code.

`matlab-prettifier` is licensed under LPPL 1.3 or any later version.

2. a) The package must be useful in itself, or useful in conjunction with free software. In other words, we won't install a package that exists only to support something nonfree, even when it is free itself (e.g., LPPL'd macro support for a proprietary font). That doesn't help the free software world, and would rightly be rejected by free distros in any case.

Problematic, because MATLAB is AFAIK a commercial software and the sole purpose of `matlab-prettifier` is the MATLAB language.

TeX Live has the condition, that a package must be useful on a system, which consists and uses entirely free software. This condition differs TeX Live from MiKTeX. It is a concise decision of the Maintainers of TeX Live, which do not want to spend their spare voluntary time on commercial software.

However, it is acceptable for TeX Live AFAIK, if a package is additionally useful for free software. There are some free alternatives to MATLAB: GNU Octave, FreeLab, ... If at least some of them also support the MATLAB language (more or less), or if the package can also support free alternatives, then the red cross might turn to a green check mark.

2. b) We very strongly recommend using an existing license; devising your own will certainly delay any inclusion in TeX Live. We also strongly recommend using a clause “or any later version” with any license. The licensing conditions for TeX Live go into more detail about what is and isn't acceptable.

LPPL 1.3 or any later version.

3. The source for any generated documentation files (e.g., pdf) must also be available for the generated documentation to be included in TeX Live. We won't refuse to install the package itself, but we must refrain from installing generated documentation when there is no source. Free documentation is as important as free software.

Source for the package and documentation is given by the `.dtx` file.

4. If you haven't uploaded your package to CTAN, please do that. Virtually all TL packages come from CTAN and that is by far the easiest place for us to update from. It's a good thing in general for CTAN to be as comprehensive as possible.

CTAN location: CTAN:macros/latex/contrib/matlab-prettifier/

5. The @ character cannot be used in any filenames. Our tools are not prepared to handle this, and since it's trivial to avoid we'd rather not spend time on it.

`matlab-prettifier` does not contain `@`. The use of `-` is ok.

6. The package should not create (the likelihood of) any new runtime filename conflicts; in other words, all names should be reasonably expected to remain unique; using the package name as a prefix often works well. In addition to conflicts in the TeX tree, new executables should have names that are reasonably distinctive, and not just within the TeX world—most executables will end up being installed in system-wide directories as part of os distributions.

The only run-time file `matlab-prettifier.sty` does not conflict with any other file in TeX Live.

Summary:

• Most conditions pass without doubt.
• In case of 2.a), I would ask on the TeX Live mailing list. It would help, if the package can show its usefulness for free software.
• The package might just be overlooked, also a reason to ask on the TeX Live mailing list.
• Thanks a lot for your detailed analysis! I can see why 2.a) could raise a flag... I actually consider `matlab-prettifier` as a book end to my Matlab years; I'm moving to Python and loving it. However, as you wrote, Octave is a free alternative whose syntax forms a superset of Matlab's, so 2.a) should be a green check as well. I think you already deserve the checkmark for your answer, but I'll accept it when I find out what's going on... Jun 18, 2014 at 18:18
• The TeX Live people got back to me. You were right: the package got rejected because it was deemed to serve only Matlab, which is proprietary software. I've submitted a new version to CTAN emphasising partial support for Octave syntax (to be expanded in a future release). I hope this one will get picked up by TeX Live. Jun 19, 2014 at 12:10