கதை: ஒரு ரத்துக் கட்டணம் அதிகம்
இந்த வாரங்களில் மன்றங்களிலும் சமூக ஊடகங்களிலும் சுற்றும் கதை: ArtCraft கோபத்திலிருந்து பிறந்தது, அதன் ஆசிரியர் «ஏமாற்றப்பட்டார்». திட்டத்தின் பின்னால் இருப்பவர் பிராண்டன் தாமஸ் (Brandon Thomas), அட்லாண்டாவைச் (அமெரிக்கா) சேர்ந்த பதினைந்து ஆண்டு அனுபவமுள்ள மென்பொருள் பொறியாளர்; Reddit-இல் u/ai_art_is_art என்ற பெயரில் எழுதினார். «மோசடி» என்ற சொல் மக்களுடையது; அவர் சொல்வது, Adobe தனது சந்தாவுக்கான ரத்துக் கட்டணத்தை வசூலித்தது என்பதுதான்.
Reddit-இல் அவர் எழுதினார்: «அவர்கள் பலமுறை என்னிடம் ‘ரத்துக் கட்டணம்’ வசூலித்தார்கள், அன்றிலிருந்து நான் அவர்களை வெறுக்கிறேன்». Hacker News-இல், மாதந்தோறும் செலுத்தும் ஆண்டுத் திட்டத்தை முன்கூட்டியே விடும்போது விதிக்கப்படும் அபராதமான இந்த «இருண்ட வடிவத்தில்» பலமுறை சிக்கியதாகச் சொன்னார். இது தனிப் புகார் அல்ல: 2024 ஜூனில், இந்தக் கட்டணங்களை மறைத்து ரத்து செய்வதைக் கடினமாக்கியதற்காக அமெரிக்க நீதித் துறை Adobe மீது வழக்குத் தொடர்ந்தது. தன் நிபந்தனைகள் வெளிப்படையானவை என்று Adobe கூறுகிறது.
அவரது பதில்: நிரல்களை மீண்டும் உருவாக்கி இலவசமாகக் கொடுப்பது. Anthropic-இன் செயற்கை நுண்ணறிவான Claude மற்றும் Rust மொழியின் உதவியுடன், 2026 செப்டம்பர் இறுதிக்கும் அக்டோபர் தொடக்கத்துக்கும் இடையில் GitHub-இல் முதல் ஏழு செயலிகளை வெளியிட்டார் — Photoshop, Illustrator, Premiere, Lightroom, After Effects, InDesign, Acrobat ஆகியவற்றுக்கு இணையானவை — சில வாரங்களில் Word, PowerPoint, Excel, AutoCAD, Pro Tools, Figma ஆகியவற்றையும் சேர்த்தார். இவை கோப்பு வடிவங்களின் பொது விவரக்குறிப்புகளிலிருந்து, யாருடைய குறியீடும் இல்லாமல் செய்யப்பட்ட «சுத்த அறை» மறுசெயலாக்கங்கள் என்கிறார்.
எல்லாவற்றையும் சுருக்கிய அவரது வாக்கியம், «மென்பொருள் முடிந்துவிட்டது», உலகம் முழுதும் பரவியது: ஒருவர் AI உடன் பல பத்தாண்டுகள் எடுத்ததை சில வாரங்களில் மீண்டும் உருவாக்க முடிந்தால், கட்டண மென்பொருளுக்குச் சிக்கல். சந்தேகங்களும் உண்டு: இந்த «சுத்த அறை» செயல்முறை ஆய்வைத் தாங்குமா, எவ்வளவு குறியீட்டை அவர் எழுதினார், எவ்வளவு AI எழுதியது என்பது இன்னும் தெரியவில்லை என்று சசெக்ஸ் பல்கலைக்கழகப் பேராசிரியர் ஆந்த்ரேஸ் குவாதாமுஸ் நினைவூட்டுகிறார். இது «அணைந்துபோகும் ஒருமுறை மின்னல்» அல்ல என்று தாமஸ் வலியுறுத்துகிறார்; இப்போதைக்கு கிட்டத்தட்ட தினசரி வெளியாகும் பதிப்புகள் அவர் சொல்வதை உறுதிப்படுத்துகின்றன.
ArtCraft என்பது storytold குழுவின் திறந்த மூலத் திட்டம் (MIT அல்லது Apache-2.0 உரிமம்); நாம் தினமும் படைப்புக்குப் பயன்படுத்தும் கருவிகளை Rust-இல் புதிதாக மீண்டும் எழுதுகிறது. இவை சந்தா இல்லாத, இலகுவான, நேட்டிவ் நிரல்கள்; பிரபல வணிக நிரல்கள் செயல்படும் விதத்தைப் பின்பற்றுகின்றன, ஆனால் அவற்றின் குறியீட்டை நகலெடுப்பதில்லை. Windows, macOS, Linux, FreeBSD-இல் இயங்குகின்றன, பல உலாவியிலும்; கிட்டத்தட்ட ஒவ்வொரு வாரமும் புதிய பதிப்புகள் வருகின்றன. குறிப்பிடப்படும் வணிகப் பெயர்கள் புரிதலுக்காக மட்டுமே: இந்த நிரல்களுக்கு அந்த நிறுவனங்களுடன் எந்தத் தொடர்பும் இல்லை.
கருவிகள், ஒவ்வொன்றாக
ArtCraft Launcher v0.8.1
இங்கிருந்து தொடங்குங்கள். மற்ற எல்லாவற்றையும் நிறுவும் கருவி இது: முழு பட்டியலைக் காட்டுகிறது, உங்கள் கணினிக்கு ஏற்ற பதிப்பைத் தேர்ந்தெடுத்து ஒவ்வொரு செயலியையும் ஒரே சொடுக்கில் நிறுவுகிறது, கோப்பு சேதமடையவில்லையா எனச் சரிபார்க்கிறது, புதுப்பிப்புகள் வந்தால் தெரிவிக்கிறது. எல்லாம் அடங்கிய ஒரே தொகுப்பு இல்லை, ஆனால் இந்த லாஞ்சரே அதற்கு மிக நெருக்கமானது.
PhotoCraft v0.16.0
Photoshop பாணியிலான பட எடிட்டர்: அடுக்குகள், தேர்வுகள், தூரிகைகள், சரிசெய்தல், ரீடச். GitHub-இல் திட்டத்தின் மிகப் பிரபலமான கருவி இது.
LightCraft v0.14.0
Lightroom பாணியில் புகைப்பட நூலகமும் அழிவில்லாத RAW செயலாக்கமும்: படங்களை ஒழுங்குபடுத்தி, மூலக் கோப்பைத் தொடாமலே ஒளிர்வு, நிறம், வெட்டுதலைச் சரிசெய்யலாம்.
VectorCraft v0.17.0
Illustrator போன்ற வெக்டர் வரைகலை: தரம் இழக்காமல் பெரிதாக்கக்கூடிய வளைவுகள், வடிவங்கள், கோடுகள், உரை. லோகோ, ஐகான், சுவரொட்டிகளுக்கு.
FilmCraft v0.13.0
Premiere Pro போன்ற நேரியல் அல்லாத வீடியோ எடிட்டர்: பல தடக் காலவரிசை, வெட்டுகள், நிறத் திருத்தம், ஒலி.
EffectCraft v0.17.0
After Effects வழியில் இயக்க வரைகலை, தொகுப்பு, காட்சி விளைவுகள்: தலைப்புகள், கீஃப்ரேம் அனிமேஷன், ஒன்றிணையும் அடுக்குகள்.
SoundCraft v0.13.1
Pro Tools-இலிருந்து உத்வேகம் பெற்ற ஒலிப் பணிநிலையம்: பதிவு, திருத்தம், கலவை; பல தடங்கள், வெட்டுகள், விளைவுகள், இறுதிக் கலவை.
DesignCraft v0.13.0
InDesign பாணியில் பக்க வடிவமைப்பும் பதிப்பும்: பக்கங்கள், நெடுவரிசைகள், உரை பாணிகள், படங்களுடன் இதழ்கள், சிற்றேடுகள், நூல்கள்.
FigCraft v0.11.2
Figma போன்ற இடைமுக வடிவமைப்பும் முன்மாதிரியும்: செயலி, இணையத் திரைகள், மீண்டும் பயன்படுத்தக்கூடிய கூறுகள், உருவாக்கும் முன்பே ஒன்று எப்படி வேலை செய்யும் எனக் காட்டும் மாதிரிகள்.
PdfCraft v0.14.0
Acrobat வழியில் PDF-களைப் படிக்க, ஒழுங்குபடுத்த, பாதுகாக்க: திறத்தல், குறிப்பு சேர்த்தல், பக்க வரிசை மாற்றுதல், பாதுகாக்கப்பட்ட ஆவணங்களைச் சேமித்தல்.
WordCraft v0.11.0
Word போன்ற சொல் செயலி: கடிதங்கள், அறிக்கைகள், பாணிகள், அட்டவணைகள், படங்களுடன் ஆவணங்கள்.
DeckCraft v0.11.1
PowerPoint பாணியில் விளக்கக்காட்சிகளும் ஸ்லைடுகளும்: முழுத் திரையில் காட்ட உரை, படங்கள், வடிவங்களுடன் ஸ்லைடுகள்.
GridCraft v0.12.1
Excel போன்ற விரிதாள்: சூத்திரங்கள், தரவு அட்டவணைகள், வரைபடங்கள், தகவலை வரிசைப்படுத்துதல், வடிகட்டுதல்.
CADCraft v0.13.0
AutoCAD வழியில் கணினி உதவியுடன் வடிவமைப்பும் தொழில்நுட்ப வரைபடமும்: துல்லிய அளவுகள், அடுக்குகள், பரிமாணங்களுடன் வரைபடங்கள்.
ArtCraft v0.41.0
திட்டத்துக்குப் பெயர் தந்த செயலி, மற்றவற்றிலிருந்து தனித்து நிற்கும் ஒரே செயலி: கலைஞர்கள், வடிவமைப்பாளர்கள், திரைப்படக் கலைஞர்களுக்காக செயற்கை நுண்ணறிவு மூலம் படங்களும் வீடியோவும் உருவாக்கும் ஸ்டுடியோ. தற்போது Windows, Mac-க்கு மட்டும்.
எல்லாவற்றையும் சேமியுங்கள்: மூலக் குறியீடும் இயக்கக் கோப்புகளும்
எல்லாவற்றின் நகலையும் வைத்திருக்க விரும்பினால் (ஒருநாள் ஒரு திட்டம் மறைந்தால், அல்லது இணையமின்றி நிறுவ), இந்த Linux ஸ்கிரிப்ட் ஒவ்வொரு கருவியின் மூலக் குறியீட்டையும் சமீபத்திய பதிப்பின் அனைத்து இயக்கக் கோப்புகளையும் பதிவிறக்கி, கருவி மற்றும் அமைப்பு (Windows, macOS, Linux, FreeBSD, வலை) வாரியாகக் கோப்புறைகளில் வைக்கிறது. அவிழ்த்து இயக்குங்கள்; அளபுரு இலக்குக் கோப்புறை; PLATFORMS, EXCLUDE மூலம் எதைப் பதிவிறக்குவது எனத் தேர்ந்தெடுக்கலாம். (அதன் குறிப்புரைகள் ஸ்பானிஷில் உள்ளன.)
⬇ ஸ்கிரிப்டைப் பதிவிறக்கு (artcraft-mirror.zip)
chmod +x artcraft-mirror.sh
./artcraft-mirror.sh ~/artcraft
PLATFORMS="windows linux" EXCLUDE='riscv64|aarch64' ./artcraft-mirror.sh ~/artcraft
- இடையில் நிறுத்தலாம்: நின்றுவிட்டால் மீண்டும் இயக்குங்கள், விட்ட இடத்திலிருந்து தொடரும்.
- புதியதை மட்டும் பதிவிறக்கும்: பதிப்பு வெளியானால் அதற்குக் கோப்புறை உருவாக்கும், பழையவற்றைத் தொடாது.
- எல்லாவற்றையும் சரிபார்க்கும் ஒவ்வொரு பதிப்பும் வெளியிடும் SHA-256 தொகைகளுடன்.
- அதிக இடம் எடுக்கும்: எல்லா தளங்களும் சேர்த்து ஒரு பதிப்புக்கு சுமார் 24 GB; சில மட்டும் தேவையென்றால் வடிகட்டுங்கள்.
முழு ஸ்கிரிப்டைக் காட்டு
#!/usr/bin/env bash
# artcraft-mirror.sh — espejo local de las Craft Apps de ArtCraft (github.com/storytold)
#
# Estructura que genera:
# <DEST>/<herramienta>/code/<rama>-<herramienta>-AAAAMMDD.zip (+ .sha con el commit)
# <DEST>/<herramienta>/release-<versión>/{windows,macos,linux,freebsd,web,otros}/...
# <DEST>/<herramienta>/release-<versión>/SHA256SUMS.txt
#
# - Reanudable: las descargas van a *.part y continúan con Range (curl -C -).
# Una release se da por terminada sólo cuando todo se verificó contra SHA256SUMS
# (queda el marcador .complete). Si se corta, se vuelve a ejecutar y sigue.
# - Incremental: sólo mira la última release de cada herramienta; las carpetas
# release-* anteriores y los zip de código de días anteriores no se tocan.
# - El código fuente se baja sólo si el commit de la rama principal cambió.
#
# Uso:
# ./artcraft-mirror.sh [DEST] (DEST por defecto: carpeta del script)
# Variables opcionales:
# GITHUB_TOKEN=ghp_... sube el límite de la API de 60 a 5000 llamadas/h
# PLATFORMS="windows linux macos" sólo estas plataformas (por defecto todas)
# EXCLUDE='riscv64|aarch64|flatpak' regex de nombres de archivo a omitir
# TOOLS="photocraft cadcraft" sólo estas herramientas
# EXTRA_TOOLS="anicraft" añadir repos de storytold no incluidos en el catálogo
# SKIP_CODE=1 / SKIP_RELEASES=1
set -uo pipefail
OWNER=storytold
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
DEST=${1:-$SCRIPT_DIR}
PLATFORMS=${PLATFORMS:-"windows macos linux freebsd web otros"}
EXCLUDE=${EXCLUDE:-}
TODAY=$(date +%Y%m%d)
# Catálogo de respaldo por si no se puede leer el del launcher
FALLBACK_TOOLS="photocraft vectorcraft filmcraft lightcraft pdfcraft effectcraft designcraft
figcraft wordcraft soundcraft deckcraft cadcraft gridcraft"
# Fuera del catálogo del launcher pero con releases propias
ALWAYS_TOOLS="craft-launcher artcraft"
for bin in curl jq git sha256sum flock; do
command -v "$bin" >/dev/null || { echo "Falta '$bin'" >&2; exit 1; }
done
mkdir -p "$DEST"
exec 9>"$DEST/.artcraft-mirror.lock"
flock -n 9 || { echo "Ya hay otra ejecución en curso en $DEST" >&2; exit 1; }
log() { printf '[%s] %s\n' "$(date +%H:%M:%S)" "$*"; }
warn() { printf '[%s] AVISO: %s\n' "$(date +%H:%M:%S)" "$*" >&2; }
api() {
local auth=()
[[ -n ${GITHUB_TOKEN:-} ]] && auth=(-H "Authorization: Bearer $GITHUB_TOKEN")
curl -fsSL --retry 3 -H "Accept: application/vnd.github+json" "${auth[@]}" \
"https://api.github.com/$1"
}
# Descarga: $1 url, $2 destino final, $3 tamaño esperado.
# Con tamaño conocido continúa el .part (Range); sin él (zip de código, generado
# al vuelo y sin Range) empieza de cero.
fetch() {
local url=$1 out=$2 size=${3:-} part="$2.part" have resume=()
mkdir -p "$(dirname "$out")"
if [[ -n $size && -f $part ]]; then
have=$(stat -c %s "$part")
if (( have == size )); then mv -f "$part" "$out"; return 0; fi
if (( have > size )); then rm -f "$part"; fi
resume=(-C -)
else
rm -f "$part"
fi
curl -fL --retry 5 --retry-delay 5 --retry-all-errors "${resume[@]}" \
--progress-bar -o "$part" "$url" || return 1
mv -f "$part" "$out"
}
platform_of() {
case $1 in
SHA256SUMS*) echo . ;;
*windows*|*.msi|*.exe) echo windows ;;
*macos*|*.dmg|*.app.tar.gz|*universal*) echo macos ;;
*freebsd*) echo freebsd ;;
*linux*|*.AppImage*|*.deb|*.rpm|*.flatpak) echo linux ;;
*-web-*) echo web ;;
*) echo otros ;;
esac
}
wanted() {
local name=$1 plat=$2
[[ $plat == . ]] && return 0
[[ " $PLATFORMS " == *" $plat "* ]] || return 1
[[ -n $EXCLUDE && $name =~ $EXCLUDE ]] && return 1
return 0
}
tool_list() {
if [[ -n ${TOOLS:-} ]]; then echo $TOOLS; return; fi
local cat
cat=$(curl -fsSL "https://raw.githubusercontent.com/$OWNER/craft-launcher/main/crates/core/src/catalog.rs" 2>/dev/null \
| grep -oE "\"$OWNER/[a-z0-9-]+\"" | tr -d '"' | cut -d/ -f2 | grep -v '^craft-launcher$' | sort -u)
[[ -z $cat ]] && { warn "no pude leer el catálogo del launcher; uso la lista interna"; cat=$FALLBACK_TOOLS; }
echo $cat $ALWAYS_TOOLS ${EXTRA_TOOLS:-} | tr ' ' '\n' | awk 'NF && !seen[$0]++'
}
mirror_code() {
local tool=$1 dir="$DEST/$1/code" head branch sha last
head=$(git ls-remote --symref "https://github.com/$OWNER/$tool" HEAD 2>/dev/null) \
|| { warn "$tool: no pude consultar el repositorio"; return 1; }
branch=$(awk '/^ref:/ {sub("refs/heads/","",$2); print $2}' <<<"$head")
sha=$(awk '$2=="HEAD" && $1!="ref:" {print $1}' <<<"$head")
mkdir -p "$dir"
last=$(ls -1 "$dir"/*.zip.sha 2>/dev/null | sort | tail -1)
if [[ -n $last && $(<"$last") == "$sha" ]]; then
log "$tool: código al día ($branch@${sha:0:8})"
return 0
fi
local zip="$dir/$branch-$tool-$TODAY.zip"
log "$tool: bajando código $branch@${sha:0:8} → $(basename "$zip")"
# El zip por commit garantiza que el archivo corresponde al sha anotado
fetch "https://github.com/$OWNER/$tool/archive/$sha.zip" "$zip" || { warn "$tool: falló el zip"; return 1; }
echo "$sha" > "$zip.sha"
}
verify() { # $1 archivo, $2 SHA256SUMS → 0 ok / 1 mal / 2 sin suma publicada
local file=$1 sums=$2 expected
[[ -f $sums ]] || return 2
expected=$(awk -v n="$(basename "$file")" '{f=$2; sub(/^\*/,"",f)} f==n {print $1}' "$sums")
[[ -z $expected ]] && return 2
[[ $(sha256sum "$file" | cut -d' ' -f1) == "$expected" ]]
}
mirror_release() {
local tool=$1 json tag ver rdir
json=$(api "repos/$OWNER/$tool/releases/latest") || { warn "$tool: sin releases o límite de API alcanzado"; return 1; }
tag=$(jq -r .tag_name <<<"$json")
ver=${tag#"$tool"-}; ver=${ver#v}
rdir="$DEST/$tool/release-$ver"
if [[ -f $rdir/.complete && $(<"$rdir/.complete") == "$PLATFORMS|$EXCLUDE" ]]; then
log "$tool: release $ver ya completa"
return 0
fi
log "$tool: release $ver"
mkdir -p "$rdir"
jq -c '{tag_name, name, published_at, html_url, body}' <<<"$json" > "$rdir/release.json"
local ok=1 name url size plat out sums="$rdir/SHA256SUMS.txt"
# SHA256SUMS primero para poder verificar el resto
while IFS=$'\t' read -r name url size; do
plat=$(platform_of "$name")
wanted "$name" "$plat" || continue
if [[ $plat == . ]]; then out="$rdir/$name"; else out="$rdir/$plat/$name"; fi
if [[ -f $out ]]; then
verify "$out" "$sums"; case $? in
0) continue ;;
2) [[ $(stat -c %s "$out") == "$size" ]] && continue ;;
esac
warn "$tool: $name no coincide, se vuelve a bajar"; rm -f "$out"
fi
log " ↓ ${out#"$rdir"/} ($((size / 1048576)) MiB)"
if ! fetch "$url" "$out" "$size"; then warn " falló $name"; ok=0; continue; fi
verify "$out" "$sums"; case $? in
1) warn " checksum INCORRECTO: $name (se borra)"; rm -f "$out"; ok=0 ;;
2) [[ $name != SHA256SUMS* ]] && [[ $(stat -c %s "$out") != "$size" ]] && { warn " tamaño incorrecto: $name"; rm -f "$out"; ok=0; } ;;
esac
done < <(jq -r '.assets | sort_by(.name | startswith("SHA256SUMS") | not)[]
| [.name, .browser_download_url, .size] | @tsv' <<<"$json")
if (( ok )); then echo "$PLATFORMS|$EXCLUDE" > "$rdir/.complete"; log "$tool: release $ver completa ✔"
else warn "$tool: release $ver incompleta; vuelve a ejecutar el script para continuar"; return 1; fi
}
fail=0
for tool in $(tool_list); do
echo "──────── $tool"
[[ -z ${SKIP_CODE:-} ]] && { mirror_code "$tool" || fail=1; }
[[ -z ${SKIP_RELEASES:-} ]] && { mirror_release "$tool" || fail=1; }
done
(( fail )) && { warn "Hubo errores; ejecuta de nuevo para reintentar lo pendiente."; exit 1; }
log "Todo al día en $DEST"
இவை மிகப் புதிய நிரல்கள், கிட்டத்தட்ட எல்லாமே ஆரம்ப ஆல்ஃபா எனக் குறிக்கப்பட்டவை: நிறைய வாக்குறுதி அளிக்கின்றன, ஆனால் தீவிரப் பணிக்கு தொழில்முறைக் கருவிகளுக்கு இன்னும் மாற்றல்ல. முயன்று பாருங்கள், உங்கள் கோப்புகளின் நகல்களை வைத்திருங்கள், பிழை கண்டால் அவர்களின் GitHub-இல் தெரிவியுங்கள்.
மேற்கோள்கள்
- GitHub · storytold (todas las Crafting Apps)
- GitHub · ArtCraft Launcher
- GitHub · ArtCraft
- getartcraft.com
- Al Jazeera (14-10-2026) · How AI apps are offering free substitutes for Big Tech software
- Amateur Photographer (08-10-2026) · This home coder got so sick of Adobe he built free, open-source versions of Photoshop, Lightroom and Premiere
- PetaPixel (07-10-2026) · Someone Rebuilt Free, Open-Source Versions of Photoshop, Premiere, and Lightroom Using AI
- Creative Bloq · Someone just rebuilt Adobe Creative Cloud with AI – then gave it away for free
- CineD · ArtCraft Releases Free Open-Source Adobe Alternatives
- Korben · I tested the 12 free clones of Adobe and Microsoft