Best way to upload 30k videos?

Hi again, PMU (Peertube Mass Uploader) is ready to be shared, it’s already on github with a slight modification + doc on how to use it as a git submodule so that you may version your settings independently of PMU’s git. All I’m missing now to make it public is: what licence should I use? I wonder between GNU GPLv3 or MIT. I’m leaning towards the 1st one. If I get it correctly, MIT would allow selling any modification of PMU. I’d rather keep the stuff open, free and public. Any views on this?

1 « J'aime »

I don’t know much, but this is what I get from ChatGPT, if you think it worth checking out:


GNU GPLv3 (General Public License version 3) and the MIT License are both open-source licenses but they have different terms and conditions. Here’s a comparison of the two:

GNU GPLv3

  1. Copyleft License: The GPLv3 is a strong copyleft license, meaning that any derivative work must also be distributed under the same license terms. This ensures that the code and any modifications remain free and open-source.
  2. License Compatibility: GPLv3 is not compatible with all other licenses. If you combine GPLv3 code with code under an incompatible license, you cannot legally distribute the resulting work.
  3. Patent Grants: GPLv3 includes an explicit patent grant, which means that contributors to GPLv3-licensed projects cannot sue users for patent infringement.
  4. Tivoization: GPLv3 includes provisions against « Tivoization » (where hardware restrictions prevent users from running modified versions of the software).
  5. Internationalization: GPLv3 has been designed with international use in mind and includes language to address international legal issues.

MIT License

  1. Permissive License: The MIT License is a permissive license, which means it allows the code to be used in proprietary software as long as the original copyright and license notice are included. It does not require derivative works to be open-source.
  2. Simplicity: The MIT License is very simple and short, making it easy to understand and implement. It is often preferred for its simplicity.
  3. License Compatibility: The MIT License is highly compatible with other licenses, including proprietary licenses, which makes it easier to integrate MIT-licensed code into various projects.
  4. Patent Grants: The MIT License does not explicitly address patents. This means it does not provide the same level of patent protection as the GPLv3.
  5. No Tivoization Clause: The MIT License does not include any provisions against Tivoization or hardware restrictions.

Key Differences

  • Freedom vs. Flexibility: GPLv3 ensures that the software and its derivatives remain free, while the MIT License offers more flexibility, allowing the code to be incorporated into proprietary software.
  • Complexity: GPLv3 is more complex and has more conditions compared to the simplicity of the MIT License.
  • Patent Protection: GPLv3 includes explicit patent grants and protections, whereas the MIT License does not.
  • Hardware Restrictions: GPLv3 has clauses to prevent Tivoization, while the MIT License does not address this issue.

Choosing between these licenses depends on your priorities. If you want to ensure that your code and any derivatives remain free and open, the GPLv3 is a better choice. If you prefer simplicity and greater compatibility with other licenses, including proprietary ones, the MIT License may be more suitable.


:slight_smile:

Go with your gut!
Though, either choice works. I understand your concern with the MIT license, but as long as you don’t charge, this program will remain free. The benefit of the MIT license is that should someone see your work and want to modify it to use it commercially, they could. Maybe that’s a detriment to you though.

I’d still go with your gut instinct on the GNU GPLv3.

Thanks for your replies. I’ve been away for weeks because, you know, summer :parasol_on_ground:. It occurred to me that we had a legal service and that they may have their word in deciding such things :sweat_smile:. I’m waiting for their reply but for now we’re heading towards CeCILL licence with is like a french variation on GNU GPL. I should be able to publish PMU next week, or in a matter of a few weeks at worst. Stay tuned!

3 « J'aime »

waiting this app release :heart_eyes:

1 « J'aime »

hello!

just getting inside here, what about the git link/availability for the Peertube Mass Uploader tool?
dont hesitate to share if it’s ready… if im not wrong that thread started from 2023… what about a year later?

thank you :slight_smile:

Hi! Yeah I know, sorry about the time the whole thing is taking, I’m still waiting to know the licence this project will use for its release on GitHub, which I can’t freely choose as this a matter our legal department ought to decide. Plus of course this is only a project among many others and I can’t give 100% of my work time to it. But it’s getting close, be patient :slight_smile:

OK so we definitely agreed on CeCILL 2.1 license, which is very close to GNU GPL v3: CeCILL Free Software License Agreement v2.1 | Software Package Data Exchange (SPDX) (english) and CeCILL Free Software License Agreement v2.1 | Choose a License (french). Now I should be able to publish PMU next week :crossed_fingers:

2 « J'aime »

Finally! Peertube Mass Uploader is now available on GitHub. Manual and CeCILL 2.1 license each have an english and a french files. As a reminder, this project started as my organization, Réseau Canopé, needed a way to upload hundreds or thousands vidéos on our Peertube with informations set in a .xlsx file, like description, channels and so on, and get their url back. So this tool was tailor-made to fill our needs and obviously there’s room for improvements to allow a wider use. But now that’s it’s on GitHub you can adapt it to your own needs.

:warning: As said above, there’s high probability some uploads will crash somewhere, depending on how many videos are sent at once and on your server CPU, RAM and disk space. This is documented in the manual and higher in this forum. The usual turnaround is: wait, eventually move files back to todo/ folder, and relaunch.

PMU is now part of Third party applications | PeerTube documentation.

5 « J'aime »

I just give it a try today.

After I launch the script, it returned with

SyntaxError: Unexpected reserved word
    at Loader.moduleStrategy (internal/modules/esm/translators.js:133:18)
    at async link (internal/modules/esm/module_job.js:42:21)

also Checked there is no log in the upload.log files.

Can you please check if there is any mistakes?

To make things easier, I tried to made mostly input numbers. I am not sure if it’s because the language is Chinese?

Screenshot 2024-09-25 at 6.46.35 PM

I have added this option in the settings.yaml though.

Screenshot 2024-09-25 at 6.48.21 PM

:slight_smile:

Thanks for sharing your scripts.


P.S my server installed node : v20.17.0 (with npm 10.8.2)

@Ash3T This error seems to come from Node, maybe that’s a version pb as PMU was made with node v18 and npm v8, but I can’t be sure without seeing more of the call stack, it may come from anywhere: PMU, a node module or the Peertube API. You may try downgrading your Node with a version manager as fnm. You should also try removing as much of your settings as possible, ie only keep English in your languages settings. Also, try using strings instead of numbers in your file names and xlsx data, JS may cast them to integers automatically and break stuff.
I can’t tell whether your xlsx is well formated or not unless you show the data:in: section of your yaml settings file :slight_smile: . And about log files, the tool does not handle them by itself, I found it useless as the CLI can do this for you when launching the script, as shown in the manual (the | tee -a logs/uploadProd.log in the Script launch part).

1 « J'aime »