Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Futurecoder – A free interactive Python course for coding beginners (futurecoder.io)
371 points by alexmojaki on Jan 7, 2023 | hide | past | favorite | 78 comments
Some highlights:

- 100% free and open source (https://github.com/alexmojaki/futurecoder), no ads or paid content.

- No account required at any point. You can start instantly. (You can create an account if you want to save your progress online and across devices. Your email is only used for password resets)

- 3 integrated debuggers can be started with one click to show what your code is doing in different ways.

- Enhanced tracebacks make errors easy to understand.

- Useful for anyone: You can have the above without having to look at the course. IDE mode (https://futurecoder.io/course/#ide) gives you an instant scratchpad to write and debug code similar to repl.it.

- Completely interactive course: run code at every step which is checked automatically, keeping you engaged and learning by doing.

- Every exercise has many small optional hints to give you just the information you need to figure it out and no more.

- When the hints run out and you're still stuck, there are 2 ways to gradually reveal a solution so you can still apply your mind and make progress.

- Advice for common mistakes: customised linting for beginners and exercise-specific checks to keep you on track.

- Construct a question that will be well-received on sites like StackOverflow: https://futurecoder.io/course/#question

- Also available in French (https://fr.futurecoder.io/), Tamil (https://ta.futurecoder.io/), and Spanish (https://es-latam.futurecoder.io/). Note that these translations are slightly behind the English version, so the sites themselves are too as a result. If you're interested, help with translation would be greatly appreciated! Translation to Chinese and Portuguese is also half complete, and any other languages are welcome.

- Runs in the browser using Pyodide (https://pyodide.org/). No servers. Stores user data in firebase.

- Progressive Web App (PWA) that can be installed from the browser and used offline.

-----------

A frequent question is how does futurecoder compare to Codecademy? Codeacademy has some drawbacks:

- No interactive shell/REPL/console

- No debuggers

- Basic error tracebacks not suitable for beginners

- No stdin, i.e. no input() so you can't write interactive programs, and no pdb.

- No gradual guidance when you're stuck. You can get one big hint, then the full solution in one go. This is not effective for learners having difficulty.

- Still on Python 3.6 (futurecoder is on 3.10)

I am obviously biased, but I truly believe futurecoder is the best resource for adult beginners. The focus on debugging tools, improved error messages, and hints empowers learners to tackle carefully balanced challenges. The experience of learning feels totally different from other courses, which is why I claim that if someone wants to start learning how to code, futurecoder is the best recommendation you can make.



This looks really good, going through the first couple of tasks it seems well considered.

I'm introducing my 8yo daughter to programming at the moment, she is beginning to play around with Scratch. I'm keeping my eye out some something closer to proper coding though. I think this may be a little too far at the moment, but I may try her out on it with me sitting next to her and see how she gets on!

Is there any way for users to construct their own multiple stage tutorials? (It looks like we can do single questions)

Currently you have the console output, have you considered having a canvas/bitmap output that could be targeted with the various Python drawing and image manipulation apis?

Incredibly generous of you to make it open source!


For 8yo, maybe you can consider bringing her through Hedy:

https://hedy.org/

It's gradual (starts easy but limited, then with progress through levels gets more precise and powerful), and I read that it gets to full blown Python programming.

Theres an excellent talk on the approach by the author:

https://m.youtube.com/watch?v=fmF7HpU_-9k

Edit: +Hedy is designed with kids in mind, as opposed to adults, which I believe future coder and others are more targeted to.


Hedy looks really good, thanks for the tip!

Yes, Future Coder is clearly aimed at adults or older teenagers, and looks really good for them. That was mostly the point of my question about user created tutorials. Using the current tutorial as a basis, but simplifying the language and some of the conceptual stuff would make something that could work for younger kids.


> simplifying the language and some of the conceptual stuff

This might work to an extent, but I think it makes more sense to choose a resource that's actually targeted at kids so that it's holistically and fundamentally designed to be the best thing possible for kids. That means features like simplifying the language itself (like Hedy or Scratch) or a game like https://codecombat.com/ to make it fun.


I'm thinking of going through it with my kids, and then I can explain what they don't understand.


My children were vaguely interested in programming but one thing they got of it was that learning functions in Python helped them enormously with formal functions in math.

This is one of the things I regret with how math is taught in France: it stresses way too much the formal part and this is terrifying for children (and teens and everyone except mathematicians).

We have a religious reverence to maths in France. It is better now but used to be simply ridiculous. Unfortunately it still means that some more advanced topics such as derivatives are introduced through definitions (the chapter starts with "be a function f(x) with x in the domain of real numbers, a derivative is a function such that f'(x) = lim h→0 ...").

My son came to me with a WTF? I told him about average velocity transitioning to instant velocity by reducing dt, or about acceleration - and finished by showing that a derivative is a function factory (a function gets in, a completely different, unrelated function goes out). He was then ready for the definition.

Same with physics which is tainted by chemistry, with terminally boring topics introduced first. No wonder that we have less and less STEM students.


futurecoder was actually translated to French by three teachers working for the French Ministry of Education to use when teaching the maths/programming subject 'NSI'.

I love maths myself but I've made a strong effort to avoid maths in examples/exercises so that the course is approachable to students who don't like maths. The first page is a special exception as it lets users immediately try something familiar (like 1+2) without needing to introduce strings or any other new concepts.


Sorry if I was unclear but this was in no way a criticism of your excellent product. It is truly fantastic.

It was an unrelated comment that popped up in my head when reading "my 8 years old daughter is learning to code". And it was a "yay!" - because programming helps with math concepts afterward.

I am not a mathematician (PhD in physics, long time forgotten) so I see maths as a useful toolbox to solve problems I can describe. Some of the tools are wonderful and I dream of them at night (analysis, mostly), and some are blobs I poke with a stick when I have to (algebra, geometry mostly).

The 'NSI' option in high school is a new one, and one of the modern ones. It is useful later (no matter where you actaully study) so I am glad that someone at the ministry is using futurecoder as a reference. When Python was introduced a few years ago, it was done in the typical "let's put some boring theory first to make them hate us" fashion and it is wonderful this is changing.


> Sorry if I was unclear but this was in no way a criticism of your excellent product. It is truly fantastic.

Thank you! I don't think you were unclear and I didn't read any criticism in your comment, I'm not sure why you thought I did. I was just sharing and adding to the conversation.


This. Mathetmatical functions never reqlly clicked until after I started learning coding. It helps that the approach I've used is very functional-type programming


The other advantage is that in programing you introduce functions with some hand-waving and "black boxes".

I told my children this is something you put data in , it does some magic, and your get some data out. I started with some built-in functions (or functions I wrote and hide) so that they understand the mechanics.

Then they finally asked "can I do my own function?" and, bam, there we were :)

Removing the ceremonial of mathematical correctness helped a lot.

This is also the reason I am sad we do not give children half- (or 3/4-) lies: we tell them something more or less correct so that they can play with it (making sure they do not stumble upon edge cases) and then refine their knowledge.

This is what my math prof on my 3rd year of physics did: he said "I will give you a neat trick I will not explain because it will be super useful to you now. Next year, when you understand it, it won't be of any practical use anymore". I was not traumatized.


Not sure if you have any iOS or Mac devices but I've found the Shortcuts app to be an amazing middle-ground for getting into coding and automation.

Its not technically "writing" actual code but given the fact your Shortcut is almost a program or at least a high-level function and that you can combine them to execute more complex tasks, its fantastic for promoting algorithmic thinking and does so in a visually-compelling colorful way.


Futurecoder looks awesome, if you are looking for something for younger kids that’s more advanced than scratch I made pickcode.io

It’s frame based editing (draggable statements, free form expressions), and you can do turtle graphics and chatbots. I have 4 free tutorials online, if you want more you can email me, my address is in my bio on here


This looks amazing, congratulations!


> Is there any way for users to construct their own multiple stage tutorials?

I really hope some kind of GUI to do that can exist one day, but it's definitely a complicated feature that I'd need help from contributors to build. Same for graphical output.

> (It looks like we can do single questions)

I think you're talking about the question wizard. That's for helping people to write good quality questions about their own struggles to post on StackOverflow and similar sites. It's not for making 'challenges' for others to solve.

> Incredibly generous of you to make it open source!

Thank you! I'm really trying to improve the state of education and make the world a better place. I hope that in addition to directly helping users, I can inspire other educators, raise the bar, and help them build similar products. To this end, futurecoder is powered by many open source libraries that I've created which are designed to also be useful in their own right:

Debuggers: these are integrated in the site but also usable in any environment:

- https://github.com/alexmojaki/birdseye

- https://github.com/alexmojaki/snoop

- https://github.com/alexmojaki/cheap_repr (not a debugger, but used by the above two as well as directly by futurecoder)

Tracebacks:

- https://github.com/alexmojaki/stack_data (this is also what powers the new IPython tracebacks)

- https://github.com/alexmojaki/executing (allows highlighting the exact spot where the error occurred, but also enables loads of other magical applications)

- https://github.com/alexmojaki/pure_eval

You can see a nicer presentation (with pictures) of the above as well as other projects of mine on my profile https://github.com/alexmojaki

Libraries which I specifically extracted from futurecoder to help build another similar educational site https://papyros.dodona.be/?locale=en (which does have a canvas output, at least for matplotlib):

- https://github.com/alexmojaki/sync-message (allows synchronous communication with web workers to make input() work properly)

- https://github.com/alexmojaki/comsync

- https://github.com/alexmojaki/pyodide-worker-runner

- https://github.com/alexmojaki/python_runner


Thanks! FWICS, futurecoder (and JupyterLite) may be the best way to run `print("hello world!")` in Python on Chromebooks for Education and Chromebooks with Family Link which don't have VMs or Containers ((!) which we rely upon on the server side to host container web shells like e.g. Google Colab and GitHub Codespaces (which aren't available for kids < 13) and cocalc-docker and ml-tooling/ml-workspace and kaggle/docker-python and https://kaggle.com/learn )

Also looked at codesters. quobit/awesome-python-in-education: https://github.com/quobit/awesome-python-in-education

Looks like `Ctrl-Enter` works, just like jupyter/vscode.

iodide-project/iodide > "Compatibility with 'percent' notebook format" which works with VScode, Spyder, pycharm, https://github.com/iodide-project/iodide/issues/2942:

  # %%
  import sympy as sy
  import numpy as np
  import scipy as sp
  import pandas as pd
  # %%
  print("hello")
  # %%
  print("world")

Does it work offline? jupyterlite/jupyterlite "Offline PWA access" https://github.com/jupyterlite/jupyterlite/issues/941


I just wanted to say thank you for those libraries. They were a lifesaver when building my own pyodide based project.


Awesome! Can you show me what you built?


Yes, here's a very rough PoC that I plan on integrating with a bigger project at some point https://glittering-narwhal-96bc3e.netlify.app/


Thanks. I tried running code but couldn't see any results/output. I was hoping to see `input()` in action. The dev console just logs `{type: 'error', data: '{}', contentType: 'text/json'}`


Haha yes I think I removed the output component when doing some testing and inputs was something I considered but eventually decided against it. My goal is to provide an app to allow users to "grind" leetcode/tech interview questions with spaced repetition, and I decided that instead of taking on the extra complexity of user inputs, it'd be better to focus on the value proposition of the app.

But this is just codemirror + pyodide, I'm still building the rest of it.


Thanks for sharing! This is really cool. I maintain my own learn-to-program site, so I have a sense of how much work this is.

One interactive component that we use heavily that might interest you for futurecoder is what we call an interactive walkthrough: https://www.learncs.online/best#interactive-walkthroughs. It's like a video but preserving the interactive nature of a playground. Students really like them, and enjoy the opportunity to hear multiple explanations for the same concept when they're stuck. (We're working on popping this out for external use, and have a library in the works that you may be able to integrate with a bit of work.)

I have no idea what your educational background is, but if you ever want a stable position that supports your educational innovation, consider applying for a teaching faculty job: https://go.cs.illinois.edu/teaching-faculty-hiring. (Currently our openings require a Masters degree.) We need more creators in computer science education.


> One interactive component that we use heavily that might interest you for futurecoder is what we call an interactive walkthrough: https://www.learncs.online/best#interactive-walkthroughs. It's like a video but preserving the interactive nature of a playground. Students really like them, and enjoy the opportunity to hear multiple explanations for the same concept when they're stuck. (We're working on popping this out for external use, and have a library in the works that you may be able to integrate with a bit of work.)

Awesome! I've only seen one other place doing something similar: https://scrimba.com/

This is definitely better than ordinary videos, and I like the point about multiple explanations. Although I do personally prefer that futurecoder rarely shows/tells without actually forcing users to run code and see for themselves, so they always have to be engaged. Even when they're told the exact code to run, they occasionally get asked to predict what the output will be, to make sure they're paying attention.

> I have no idea what your educational background is, but if you ever want a stable position that supports your educational innovation, consider applying for a teaching faculty job: https://go.cs.illinois.edu/teaching-faculty-hiring. (Currently our openings require a Masters degree.) We need more creators in computer science education.

It'd be great if I could be paid to work on futurecoder or something similar full time, and I've tried finding a way to make that happen before. But now I've just started a dream job at https://ought.org/ (working with AI, not education) and it'd be very hard to compete with that.

I don't have a Masters and I prefer to create things that are infinitely reusable rather than teaching directly. But thanks for the suggestion!


> Although I do personally prefer that futurecoder rarely shows/tells without actually forcing users to run code and see for themselves, so they always have to be engaged.

Yup. I agree with this approach. However, I think that in some ways this is a weakness of the side-by-side format you're using, since it seems to lean toward more content per example to offset the playground consuming half of the screen area. On https://learncs.online/ we also prefer a "show not tell" approach, but because we're interleaving the text and the playgrounds, sometimes the text between two playgrounds is extremely minimal: "Let's see what happens when we try it another way."

But there is something nice about the side-by-side format.

> Awesome! I've only seen one other place doing something similar: https://scrimba.com/

Yeah, Scrimba makes it weirdly hard to figure out what's going on, given that some of their early examples just have slides popping up everywhere and no actual text editing. I had to fast forward a bit to get to an editing example. And while I think their integration with (I assume) embedded VSCode is really cool, there's a bit of that "seated at the controls of a 747" feeling immediately with their courses, which I think can be a bit frightening for beginners. We like to keep things really compact for a while, and don't have students work in a full IDE until halfway through the semester. (This also avoids the problem with too much IDE help too early, which you referenced in another comment.)


> I prefer to create things that are infinitely reusable rather than teaching directly.

Also: teaching directly can be done by creating things that are infinitely reusable :-).


It looks cool. You'll forgive me for not trying every example. However,

1. It doesn't seem to work in Microsoft Edge when the default Enhanced Security is turned on. You might need to ask people to turn that off. I'm not sure about a workaround. It panics with insufficient stack space.

2. How does it pay its own bills? If you get bored with it, what will happen to it? I'm sure Codecademy has a revenue strategy.

Just curious!


1. Thanks, I've never heard about this, will definitely need to check it out. Opened https://github.com/alexmojaki/futurecoder/issues/418

2. Because it all runs in the browser (thanks to Pyodide) it's just some static files, so it's extremely cheap to host. I can keep it going long after I'm bored with it. If I die or something and the site literally goes down, someone else can easily host it. There's already a slightly customised mirror of the French site hosted here: https://futurecoder.forge.aeif.fr/


That's really cool. Good work!


Looks great, and I love that it requires no account - you can jump right in!

One minor annoyance for me was that the animation for a correct answer - the exploding confetti - was a bit over the top. Like "OK, yeah, chill out, all I did was get the answer right to an easy question". I just find it too much to see that every time, but maybe that's just me.


Thank you, it's really great to hear that you've gone through several pages already and didn't find any problems more significant than this :)


Indeed, it is only a minor annoyance! But speaking of going through several pages, it would be nice to have a kind of "table of contents" for those who do already know the basics and want to skip ahead.


There is a link to the Table of Contents (https://futurecoder.io/course/#toc) in the bar at the top. Is it not easy to notice?


This looks great. I like how it's designed for self-paced instruction rather than classroom instruction. I noticed it doesn't appear to support multi-line input. Is that planned?

BTW, to monetize this, you might create module-specific tutorials (like Pandas, Pygame, etc.) and implement a "pay what you want" system where $10 or more buys 5 modules.


Thanks!

To run multiple lines of code, use the editor, not the shell. If you only see the shell, it's because it's hidden at the beginning of the course for beginners. See the table of contents (https://futurecoder.io/course/#toc) and skip to the page "Variables > Writing Programs" or after.

Or click the 'fullscreen' icon in the top right to enter 'IDE' mode in which everything is enabled, as the debuggers are similarly introduced gradually. Equivalently, go to https://futurecoder.io/course/#ide, or click "Just code" on the homepage.

The issue for tracking multi-line input in the shell is here: https://github.com/alexmojaki/futurecoder/issues/268

It's something I'd like to have, but it's not a high priority, and I don't think it needs to be.


The only downside is theres multiple ways to reach the same outcome, and unless you program it exactly what you're looking for it gives a false negative that the solution isn't correct


That's not really true. For the actual exercises where you need to solve a problem yourself, the system only tests that the code produces the correct output. It doesn't require you to use a specific approach, so there are infinite possibilities, although it may forbid certain approaches that go against what the current section is trying to teach.

There are many steps that do require entering exact code, but that's because in those cases the code itself is the whole point, not just the output. In most cases they're in places where new concepts are being introduced, so jumping to exercises wouldn't make sense. Often you're even being asked to enter code that does something 'wrong' so you can see common mistakes in action.

Steps that require exact code are always explicitly labeled as such under the 'Requirements'. In most cases the code that needs to entered is given exactly in the text in one piece. When it isn't, the Requirements will always contain extra clarification for the instructions. And if that isn't enough, it's still always possible to look at the solution, although for that kind of step it shouldn't typically be needed.

Your comment sounds very similar to the most common kind of feedback I used to get from users who found the instructions unclear and got stuck. I recently made a major update to the user interface to solve this problem, including the stuff in the paragraph above. If you've used futurecoder before it's possible you haven't experienced this yourself. If you can't see it right now, you may have old content cached, hard refresh the page in your browser. Also, the new features haven't been translated yet so they're only available on the English site.


I ran into one instance just now where this problem happened:

In the first tutorial, at some point you have

> word = ‘Hello’

> your_name = ‘Somename’

> word + your_name

‘HelloSomename’

Now the course asks me to fix it so it says ‘Hello Somename’. My first approach was to enter

> word = ‘Hello ‘

This fixed it, but the course wasn’t happy. Instead I needed to type word + ‘ ‘ + your_name.

Previously in the course, the course stated that all following three solutions were correct for introducing the space:

‘Hello ‘ + ‘World

‘Hello’ + ‘ World’

‘Hello’ + ‘ ‘ + ‘World’

Because of that feedback, I thought it was confusing that one had to use the third solution in that later part of the course.

Hope that feedback helps. Otherwise, I think this is course absolutely fantastic! Congratulations on creating something so special!

Edit: excuse the weird ticks; I’m writing this comment on an iPad


Awesome! will try this out with my 10 year old and 6 year old who I want to get started with coding, as I'm not so keen on kid-focused options which abstract the actual coding away with "cute" visual representations (conditionals, loops, variables are not difficult concepts to grasp). IMO Ruby is the best language for teaching coding to kids (I taught it to my daughter when she was 10, years ago, she's now a SWE with a ChemEng degree) but there are more tools for Python these days, so perhaps a better choice for my younger ones. Thanks for making open source!


Thanks! Great job teaching your daughter so well at such a young age!

> but there are more tools for Python these days

I can't comment on what exists or what's possible in Ruby, but futurecoder does indeed have a lot of specific magical features that I wouldn't know how to replicate in any other language.


I clicked "just code" on the landing page and it took me to a page where the left pane showed an empty (black) terminal and the right one a python shell. Looking at the developer tools I saw a message in reponse to my hello world input saying that I should type 1+2. But it was never displayed.

Then based on this hint, clicking around I managed to reveal the tutorial (showing up on the right). So it seems that there is a bug in the navigation or maybe the "just code" link on the landing points to the wrong place.


The buttons on the landing page are:

- Start learning (see the tutorial content)

or

- Just code (you don't need to learn, you just want to use the editor/shell as a simple scratchpad/playground with some enhancements)

The links are working as intended, but maybe I need to make them clearer.


Does anyone know a good resource for someone who was very familiar with older Python (early 2.x) and would like to get up to speed on the latest Python along with current/best practices?


In no particular order or preference:

* Think Python 2nd Edition (or How to think like a computer scientist. More recently, "Learn python the right way" based on same book.)

* Fluent Python 2nd Edition, Ramalho

* Python Distilled, Dave Baezley


Related:

Show HN: Futurecoder – A free online interactive Python course - https://news.ycombinator.com/item?id=28737779 - Oct 2021 (24 comments)


Updates since then:

- A new 'assistant' UI that prevents users from getting stuck on instructions they found unclear, which was the most common complaint.

- Can now be translated to other languages.

- Available in 3 other languages.

- Can now be used in Safari.

- Can now be used offline.

- Can now be used in China.

- A new course chapter about dictionaries.

- A 'Stop' button to interrupt running code.

- Output is shown in the console as it's produced.

- time.sleep() works correctly.

- Ctrl+Enter keyboard shortcut to run code.

- Lots of small improvements and bug fixes.


This is great. Would love to see this in Spanish. I’m a fluent speaker but have never talked about code in Spanish, however I’d be up to the challenge of helping translate


It's available in Spanish: https://es-latam.futurecoder.io/

It was actually the first translation to be finished 100%, although now it's fallen behind to 91% as new English text was added. The reason it's not listed on the site alongside French and Tamil is that after it was finished, it was never proofread, so it never became officially ready :(

> I’d be up to the challenge of helping translate

Yes please!!!

Information about translating is here: https://github.com/alexmojaki/futurecoder/wiki/How-to-write-...

The task to finish and proofread the Spanish translation is recorded here: https://github.com/alexmojaki/futurecoder/issues/371


There is a Spanish translation, though it is a bit behind the English version.


i've tried few python learning apps half an year a go an oh boy... this one is 100x better and free?!?! nice


This, and other recommendations in this thread, are marvelous. I'm hopefully going to start volunteering at my kids' school teaching coding to ~10-12 year olds, and this will be a great tool for anyone who needs something more challenging.


This is great! I am about to start datacamp, but I will also play with this one too.


Look at exercism.org too. I hate online code/learning but I really liked that one.


I would love to see something like this but for c++. I'm going to teach my kids programming but I want to go in this order c++ -> java, javascript/typescript, python -> rust, go -> perl, bash


Do you hate your kids or something? Maybe you want them to never want to program.


I very strongly believe that it's better to start with an easy language. Sure it's easier to learn Python after C++ than it is to learn C++ after Python, but a harder language will most likely frustrate and discourage beginners. I think it's a plausible risk that they might give up on programming and never want to try again.


a very strange order - i really think that C++ is unsuitable as a first language, though it makes a good second or third one.


Assuming you stick to a reasonable subset, it's probably not that bad. And it allows you to go beyond what a language like Python would let you once the basics are down.


python will let you do pretty much anything that c++ will, and generally in an easier fashion. speaking as someone with a lot of c++ experience, and a reasonable amount of python.


This is awesome, would love to see this for other languages as well. As for Python, can you add some walkthroughs for leetcode style questions. It'll help tons of us!


Looks great, will be recommending this in the futuse!


This is great! Thanks for making it free and open source. Is there anything similar for TypeScript or JavaScript?


Thanks! I'm sure there's lots of good stuff out there but I'm afraid I have no plans to generalise to other programming languages myself. Many of the special magical features of futurecoder are things I specifically built in Python and wouldn't even know how to replicate in other languages.


I'll have to take a look. I really like exercism.org but I'm always looking for new ways to learn.


I’ve just gotten started with Python, so this is perfect timing. Thank you!


looks cool

tried the code playground, but seems there is no intellisense?

i think that would be very useful to learning


Others have suggested autocomplete before. I opened https://github.com/alexmojaki/futurecoder/issues/120 in response as a place to talk about it. But in general my opinion is that it would probably actually be harmful to learning for beginners, and I'd need to see evidence to convince me otherwise.

Here's my favorite explanation why: https://cseducators.stackexchange.com/a/634

Here's another similar discussion: https://cseducators.stackexchange.com/questions/5777/python-...


I strongly disagree here. Attention to detail is the defining characteristic of a software developer. Intellisense should only be used by those who already developed that skill.


[flagged]


This is a strange interpretation of the word 'free'. If you mean 'gratis', it definitely is free of charge. If you mean 'libre', it is MIT licensed, so you can do whatever you want with it. If you mean some other kind of 'freedom', you should probably clarify...


I think the parent's point is that you can't quite do "whatever you want" with it anywhere in the world, at least until Alex dies, because in some countries authors have inalienable moral rights that cannot be waived by any agreement or license. For instance, if you go to France and distort or mutilate Alex's work in a way that harms his reputation or honour, he will be able to sue you for it, and no possible license will waive his right to do so; there is nothing whatsoever other than commit suicide that he can do to grant you the freedom to mutilate his work in a way that harms his honour while in France.


So the only way to make this truly "free" is for Alex to publish his work then take his own life? That seems a bit grim and too big of an ask. I'm sure this isn't what Breck wants.


Ok, so it seems the author of futurecoder.com has struck a nice balance. You can use it monetarily free. It's on github, so if you see something innovative, you can see how it's done. Even copy it to your computer. But can't do harm.

What intentions are left for Breck? Straight up plagiarize into a new website called futurecoders.io? Does he want to humiliate? Mutilate? I don't know what Breck's point is.


I'll also add that it has been copied and rehosted, with my help. There's a slightly customised French version here: https://futurecoder.forge.aeif.fr/

This version is meant for maximum user privacy. firebase has been disabled completely so you can't sign up or login and nothing is stored online. There's also no google analytics.

The code is in https://forge.aeif.fr/futurecoder/futurecoder.forge.aeif.fr It's essentially just a mirror of the main repo with its own build process and configuration.


Apparently there are similar laws elsewhere, except unlike in France, they apply perpetually. (As per Wikipedia/Moral Rights.)


that took a turn.


If an idea has a "license", then it is not free. It is not libre. #LicensesAreForLosers

Being for licenses, no matter how permissive, is being in support of the idea of Intellectual Slavery. Public domain or it's not 100% free.

Hopefully in the future we'll pass a Constitutional Amendment, and end Intellectual Slavery as we did its superset https://breckyunits.com/the-intellectual-freedom-amendment.h...


Looks like it's released under an MIT license?

(Also as I understand it, it can be hard or impossible to contribute works to the public domain before automatic copyright terms expire in some countries, and that is the justification for CC0.)


I think breck's point is that, since many jurisdictions in the world grant authors inalienable rights over their works that cannot be waived nor transferred by any means (e.g. some "moral rights" in France and maybe other European jurisdictions are unwaivable), no license ever makes a work "100% free".

Which is true, but not spelt out clearly by breck, and it's kind of annoying for it to be phrased by breck in a way that leaves unclear whether it's merely a semantic nitpick or an actual suggestion that the author should've done something more to waive rights over the work. (I don't think it's the latter; I'm unaware of anything more the OP could do to "fix" this "problem" other than kill himself, and I'm not certain if even that would be sufficient in all jurisdictions.)


Dude puts in the work and get's low value comments like this? Breck you need to learn some self awareness bro.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: