You’ll be fine. You will learn the lifetime stuff and all will work out. It’s not that bad to be honest.
You’ll be fine. You will learn the lifetime stuff and all will work out. It’s not that bad to be honest.
I mean yah. That’s what it takes. But like when I try to write code around Arc<_> the performance just tanks in highly concurrent work. Maybe it’s an OOP rust skill issue on my end. Lol.
Avoiding this leads, for me at least, to happiness and fearless, performant, concurrent work.
I’m not a huge fan of go-lang but I think they got it right with the don’t communicate by sharing memory thing.
Skill Issue.
For reals though adopting a functional style of programming makes rust extremely pleasant . It’s only when people program in object oriented styles that this gets annoying.
No loops, and no state change make rust devs happy devs.
Ask Cisco how they feel about it. There is a precedence of companies using copy left licensed software and the community benefiting from it.
If companies are just going to be blatantly criminal and violate software licenses they were going to do that anyways. I’m not sure how much experience you have working in or with mega corps but the ones I have worked with in the past HATE the idea of opening themselves up to being so blatantly liable.
When I worked in big tech we had a license scanner that checked the libraries we were using. Anything strongly copyleft would be flagged and we would be contacted by legal.
You might have experienced working with companies that act otherwise. I encourage you to call them out, maybe work with the FSF to get another Cisco style ruling.
Funny you mention ZFS though. It’s not the GPL that was the issue. It is CDDL that’s incompatible. GPL is generally comparable with foss licenses. MIT, MPL, Apache, BSD all are comparable. It’s just CDDL that’s incompatible with copyleft in general.
If you think the community will benefit more from MIT licensed software than copyleft I think you need to look harder at the modern corporate world. Corporations are not altruistic.
This being said I’m not sure there is much more to be said here. You’ve gone to saying I believe in magic and that there are corporate GPL conspiracies. I just don’t see the proof and I think there is not much more to be gained by such talk.
If “theft” is your only concern yes. It’s a common misconception that copyleft licenses stops rich companies from stealing. It does not.
I am more concerned about societal enrichment vs corporate enrichment.
If you release some code under MIT that a company finds useful, they could take it, improve it a bit, and resell it back to the community. This enriches the company at the expense of the community. Without the original code the company could have never taken it as a basis to sell and the community that wrote the code gets nothing.
If you release that same code as AGPL the company can take it, improve it and sell it to the community. BUT the difference is that the community now benefits from those improvements too. Maybe more improvements happen. Maybe a second company takes those improvements and sells them too. The community would have all the improvements and would benefit from greater competition.
With copy left licenses. The community is enriched and companies are enriched.
With MIT style licenses. Companies are enriched at the expense of the community.
I mean you can’t steal open source code if you tried. The code is too respectful of your freedoms. I don’t think anyone is arguing against you here.
In terms of algorithms, nothing. But you were the one who mentioned algorithms. I am speaking of code in general. I do want for persons to contribute back to the community if they use community sourced code. I don’t think we can trust corporations to be altruistic.
This all being said in your earlier message you were implying it’s all about ego. I was just saying it is not about ego.
For me it’s all about community resources and societal enrichment.
CC0 vs CC-SA is actually a really good (rough) analogy.
I will say shortness is a major advantage of the MIT license. Easy to understand.
For the MPL 2.0 here is a good short reference.
https://www.tldrlegal.com/license/mozilla-public-license-2-0-mpl-2
Then why not LGPL or MPL 2.0? They could use your code as is too. I’ve worked in major tech companies and they are ok with these. They just don’t like GPL for obvious reasons.
Obviously too is that you have the right to choose how to license your code, but I don’t think it makes sense to use MIT when LGPL and MPL 2.0:
If you don’t believe me look at your corps license inclusion policy.
Sure. Very briefly. These are all open source licenses which (roughly) means the source is freely viewable and changeable. But the specific differences are:
MIT/BSD - Anyone can take the code and do whatever they want, if they start with your code, improve it then make it proprietary there is nothing you can do.
GPL - If someone makes changes to your code and improves it they have to make it available for use by the community too IF and only if they distribute the binary.
AGPL - Like GPL except that even if they are running the code on their server and not sharing it they still have to give back improvements.
MPL 2.0 - Like GPL but limited to specific files. This is useful for things like statically linked code. I don’t often recommend this but it can be needed for static only code bases like rust. Proprietary software can link with this and not be covered by the copyleft share alike stuff.
LGPL - Like the GPL but for dynamically linked libraries. Proprietary software can link with this and not be covered by the copyleft share alike stuff.
SSPL - Like AGPL but technically even more intense. If you use SSPL you must open source all the tooling you use to manage that hosted SSPL license. Any tools to make sure the SSPL software is running well or to set it up must also be open sourced.
The OSI technically does not say the SSPL is “open source” but given that they recently admitted that they regret defining the AGPL as open source I think the OSI might be showing a bit of corporate bias.
Pull requests have nothing to do with any of this. Also algorithms can’t be copyrighted nor patterned in the first place so it would not matter.
You could implant an algorithm in a proprietary code base and some gal could reverse engineer it and publish it as GPL or MIT or whatever and all would be a-ok.
Wait, so because a few execs violated the GPL and threw their employees under the bus, we should abandon copyleft entirely? That’s like ditching locks just because burglars exist. Companies that want to exploit software will do so, BSD or not. The GPL didn’t land those four guys in prison; their higher-ups did. Giving up and saying “ok big corp I’ll just do what you want“ just makes it even easier for corporations to profit at societies expense.
MIT and BSD software licenses might as well be renamed to “I love big daddy companies and trust them 100% uwu”
There is no reason not to choose GPL/AGPL/MPL 2.0/LGPL/SSPL if you are writing open source code.
MIT and BSD just let companies enrich themselves at societies expense.
Small warning about workman. It has issues with lateral movements and single finger n-grams. “ly” and “ct” being notable examples.
A piece of advice I heard that served me well was to look mostly at post covid designs. A lot of work was done on layout optimization around that time and the results show.
My recommendations in no particular order are:
Colemak-DH if you want to focus on a well supported layout.
Graphite or Engram or one of the hands down layouts are modern well optimized layouts I would consider if I was to learn something today.
Some people like MTGAP but in my book it was designed with too much of an emphasis on minimizing key spacing without a strong enough emphasis on how human hands work.
I personally use engram but it only works for me because I have strong pinkies. If you don’t it’s probably a bad choice.
Engram. It’s a great layout that focuses on pinky in rolls.
It’s a steep layout to learn even compared to thing like Colemak but I find it quite satisfying.
Secular person who was formally catholic, so I will come from that perspective, and will for this post assume that the Christian view is correct. (In reality I don’t think it is)
Theologians have realized that people, even before Jesus have been good and have shown wisdom. Even those who were way outside of the Jewish tradition. For example, Aristotle showed prudence, wisdom, and ethics that are in accordance with the will of God.
The question at hand is how and why, if they did not know God?
The answer is that they acted in accordance with the natural law as given by god. Even without knowing god via the sacrifice of Jesus, they approached god in the best way they knew how, by doing their best to realize the natural law which was written by god.
More information on this at this link. I would read the section on Aquinas’ natural law theory.
https://plato.stanford.edu/entries/natural-law-ethics/#NatLawDivPro
How does this apply to watching content about historic and mythological figures? The answer is that, in so much as the content approaches those divine values through the authors seeking to understand and act in accordance with the natural law it is good and just to consume.
This being said these historic figures did not have the true understanding of god brought through the sacrifice of Jesus so that must be kept in mind. So as long as you understand this and the content does not draw you from god it should be good to go.
You might be surprised. Titanium is very light. Similar to magnesium or aluminum. I bet such a thing weighs a similar amount to a traditional heart with blood.
I think you should do more then just add a disclaimer. You should add a proper license. It protects you and allows others to build upon your work in a predictable way.
That and licenses are legally battle hardened and proven. A self written disclaimer is not.
I would recommend licensing your scripts under the GPL. This lets other people use it with the understanding that if they improve it they have to let others use the improvements too.
That and it protects you like you want. Particularly section 15 and 16.
- Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
- Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
Alternatively you could use the MIT or BSD licenses, but they don’t have the “share alike” clause, so I tend not to recommend them.
I mean it could be Mutex, or Rwlock or anything atomic. It’s just when I have to put stuff into an Arc<> to pass around I know trouble is coming.