Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update #2 - Relicensing and open-source #432

Closed
fabiospampinato opened this issue Feb 8, 2019 · 38 comments
Closed

Update #2 - Relicensing and open-source #432

fabiospampinato opened this issue Feb 8, 2019 · 38 comments
Labels

Comments

@fabiospampinato
Copy link
Member

@fabiospampinato fabiospampinato commented Feb 8, 2019

As stated previously I've committed to allocate a large portion of my time to improve Notable and trying to make it profitable.

Obviously I can't spend 1 year or more of my time on this with the risk that somebody could just make a competing commercial product out of Notable's source, so there are a few updates I'd like to announce:

  • First of all I moved the repo under the "Notable" GitHub organization, this is where other Notable-related repos will be published (official plugins etc.) also. Thank you @akoenig for this! (He was the previous owner of the organization)

  • The code under the main repo (this one) has been relicensed under the AGPL license, it's a bit more restrictive than the previous MIT license, the tl;dr is that if you're modifying the app it's totally cool, but you must share the full code back under the same license.

  • Other Notable-related repositories will be licensed under the more permissive MIT license instead.

  • You'll be asked to accept a CLA (Contributor License Agreement) when submitting PRs, basically it's just some legalese stating that you own the code you're submitting and you're giving me the rights to use it, you can read (and accept) the full thing here. I'd ask the following previous contributors to accept it please: @tylerdiaz @umgupta @mnikn @mikaelmello @lianghongzhuo @sosukesuzuki @RomanKornev. Most of the contributions you guys submitted have been kind of rewritten already, but it'd be helpful if you still accepted the CLA.

Right now Notable is 100% open-source, but going forward things will be developed this way:

  • Up until I'll be ready to make a PWA #83 out of Notable (subscription-based, but you won't be forced to use it) and add a plugin architecture #128 to it, development will continue in this repository, and all commits will be shared as usual, just under the AGPL license this time.

  • Once I'll be ready to develop those major features I won't probably share back the core code, but instead I'll split most of the current functionalities into open-source plugins. The server-side code won't be open-sourced. This repository will remain the main issue tracker.

  • Once the subscription-based service I plan to develop is up and running I'll consider open-sourcing the core application code too, but the server-side code and maybe some "premium" features will still remain closed-source.

Hopefully this is good news for pretty much everybody, as this basically means I'm committed to make Notable great. This may disappoint those of you who would like everything to be open-sourced under a permissive license, but in order for me to allocate a large portion of my time on this I need to make it less risky, I hope you guys will understand.

That's all for today, thanks for reading till the end!

@mikaelmello

This comment has been minimized.

Copy link
Contributor

@mikaelmello mikaelmello commented Feb 9, 2019

That's completely understandable and I hope Notable has a great future ahead. I'll accept the CLA and good luck on the journey, I am loving this software.

@lmihalkovic

This comment has been minimized.

Copy link

@lmihalkovic lmihalkovic commented Feb 11, 2019

The fork I made was started under the MIT terms. At this point it has become very different from the original code it started with. Thank you for the inspiration to start working again on my 'perfect editor'.. in the end it is very different from what exists, and from where you are taking Notable.
Very best.

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented Feb 11, 2019

@lmihalkovic No problem, do you have any reasons not to share the code though? I'd like to see what radical changes you're making.

@lmihalkovic

This comment has been minimized.

Copy link

@lmihalkovic lmihalkovic commented Feb 11, 2019

I am very grateful for you having taught me so much through the code you shared. It may push me to share the branch at some point. But my motivation is just to have the editor I really want, for the way I work. So far I reverted back to the standard electron-webpack version, created this new backend model, changed the markdown processor, and switched to monaco

@lmihalkovic

This comment has been minimized.

Copy link

@lmihalkovic lmihalkovic commented Feb 12, 2019

You were asking what kind of changes I made... this is an example. I created a Tree API which let me make the tree datamodel separate from the notes/tags. By using this code, it is possible for the tree to contain more things than the exact contents of the tags/notes. For example, this could be a way to support what someone what requestion somewhere else about having a list of tags that is preset, and longer potentially than the list of all the tags that are actually in use.

This is how I quickly migrated the TRASH tree node

const nodeModel: Lib.TreeNode = {
  name: TagSpecialsNames.TRASH,
  path: TagSpecials.TRASH,
  item: { child: [] },
};
const TagTrash = ( {...props} ) => {
  return ( <TreeItem icon="delete" {...props} hideIfEmpty={true} /> );
  // <TagSingle icon="delete" tag={TagSpecials.TRASH} name={TagSpecialsNames.TRASH} />
};

/* EXPORT */

export default connect({
  container: Main,
  selector: ({ container }) => ({
    model: nodeModel,
    datasource: container.tag.treeNodeActions(),
    handlers: container.tag.treeNodeActionHandlers()
  })
})( TagTrash );

This is the code I added to the Tag class to support the tree API. TreeItem and TreeContainer are completely generic and only depend on the Tree API.

class Tag extends Container<TagState, MainCTX> {
...
  treeNodeActionHandlers = (): Lib.TreeNodeActionHandler => {
    const self = this;
    return {
        onDoubleClick(node: Lib.TreeNode) { self.ctx.tag.toggleCollapse(); },
        onSingleClick(node: Lib.TreeNode) { self.ctx.tag.set(node.path); }
    };
  }

  treeNodeActions = (): Lib.TreeNodeDatasource => {
      const self = this;
      return {
          getPresentation(node: Lib.TreeNode, ): Lib.TreeNodePresentation {
              return {
                  get hasBadge() { return self.getNotes(node.path).length > 0; },
                  get badge() { return `${self.getNotes(node.path).length}`; },
                  get collapsibleState() { 
                      return self.isCollapsed(node.path) ? 
                          Lib.TreeNodeCollapsibleState.collapsed : Lib.TreeNodeCollapsibleState.none; 
                  },
                  get isActive() {
                      return self.get()!.path === node.path;
                  }
              };
          },
          hasChildren(node: Lib.TreeNode) { return Object.values(self.get(node.path)!.tags).length > 0; },
          getChildren(node: Lib.TreeNode): Lib.TreeNode[] {
            const list = self.get(node.path)!.tags;
            const ar = Array.from(Object.values(list));
            const children = ar.map<Lib.TreeNode>( t => {
              return {
                item: t,
                name: t.name,
                path: t.path
              };
            });
            return children;  //return self.getTags(node.path).tags;
          },
          isActive(node: Lib.TreeNode) { return false; }
      };
  }

Thank you again...

@fosslinux

This comment has been minimized.

Copy link

@fosslinux fosslinux commented Feb 24, 2019

@fabiospampinato I hope this is the right place for this question, but does this mean that at some point Notable will be no longer open source?

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented Feb 24, 2019

@fosslinux In the short-term I plan on not open-sourcing some things like the server side code (which just doesn't exist today), not sharing back the core app code once I start to reorganize the codebase to be more modular and more suitable for the web, and sharing instead most of the functionalities in the form of open-source plugins.

At some point in the future I'll see if re-open-sourcing also the core app code makes sense, in the short-therm in order to make this less risky for me personally I've decided to take this route.

@lmihalkovic

This comment has been minimized.

Copy link

@lmihalkovic lmihalkovic commented Feb 24, 2019

@fabiospampinato for clarity: our codebases are not compatible and have not been for a while. I never shared my changes to the Arduino IDE because the company expected me to share them for free, but looking at the screenshots, it is easy to imagine that the code is drastically different from their version.

I did the same with the last MIT version of Notable. Comparing the code I shared above with your own changes to the same tree, it is clear that we have a very different outlook on software design. I come from years of work with qt, swt, swing & angular (I despise redux), so if you are familiar with these you can almost predict how our codebases diverge more every day that passes.

Thank you

PS: and that is without menrionning that we have very different goals... for example, today i was finishing implementing support for folders and tag to work transparently as notebooks (still have to add way to create new folders in the app manually). You indicated clearly that you see no value in letting people use their own folders.

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented Feb 24, 2019

@lmihalkovic No problem, as long as you aren't using any AGPL-covered code I have no issue with you keeping your modified version for yourself.

You indicated clearly that you see no value in letting people use their own folders

If you mean "folder structure" I said that I see little to no long-term value in changing the current structure.

@lmihalkovic

This comment has been minimized.

Copy link

@lmihalkovic lmihalkovic commented Feb 25, 2019

In principle: the MIT license places no restrictions whatsoever on what can be done / not done with derivative work.

Practically: I shared with you somewhere else what I think of the more recent code. My job is to design large solutions, including in many cases the internal sofware architecture details of the components; with that to color my view, I think the newer code is both better (yes it also is) and worse than what it replace (you know how i mean it), with the latter outweighing the benefits of the former. So in short, even if I could, I really have no desire to use the newer code.

@lmihalkovic

This comment has been minimized.

Copy link

@lmihalkovic lmihalkovic commented Feb 25, 2019

folders

My most elementary need is to use existing/shared folder structures than follow certain conventions. I will also likely remove the ‘attachments’ folder

@noraj

This comment has been minimized.

Copy link

@noraj noraj commented May 16, 2019

Obviously I can't spend 1 year or more of my time on this with the risk that somebody could just make a competing commercial product out of Notable's source, so there are a few updates I'd like to announce:

Atom or VSCode are huge editors owned by huge companies (Microsoft and ex-github) the their product is still FOSS). Sounds more like an excuse because you can choose a FLOSS license that forbid commercial use https://tldrlegal.com/search?reverse=true&cannot%5B%5D=52c0d009a1ddc9766c00000a

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented May 16, 2019

Atom or VSCode are huge editors owned by huge companies (Microsoft and ex-github) the their product is still FOSS).

Both editors are currently owned by Microsoft actually, since GitHub is now a Microsoft property. I'm not sure what your point is. The fact that Microsoft is a huge company with lots of money is precisely the reason why they can afford to keep those projects open source. I don't have billions in the bank.

Sounds more like an excuse because you can choose a FLOSS license that forbid commercial use

Sorry, an excuse for what?

Even if I use a license that forbids commercial derivatives that doesn't mean that somebody can't make one, it only means that if they do and I sue them I'll probably win in court. And there are multiple problems with this scenario: first of all you have to be convinced that the hypothetical app in question is actually derivative work, which is not trivial, then you have to sue people. I'd rather not have to worry about this.

And you know maybe the commercial version of Notable won't be successful, who knows, since I'm the one who's taking all the risk on this I think I have the right (not just legally, I mean more like "morally") to decide to make things less risky for me.

@noraj

This comment has been minimized.

Copy link

@noraj noraj commented May 16, 2019

Both editors are currently owned by Microsoft actually, since GitHub is now a Microsoft property.

That's what I said by Ex-github.

I don't have billions in the bank.

If you want to close source it in order to sell it, tell it clearly, that's ok, instead of saying you fear a big company stole it.

As I said if it was only about you fearing a big company steal and re-use your project you could put another license on it.

Because again you said:

with the risk that somebody could just make a competing commercial product out of Notable's source

And you know maybe the commercial version of Notable won't be successful, who knows, since I'm the one who's taking all the risk on this I think I have the right (not just legally, I mean more like "morally") to decide to make things less risky for me.

Yeah you could do whatever you want but just say the real reasons instead of telling lies. (Sorry I'm rude again) but I found that part a little irritating.

@noraj

This comment has been minimized.

Copy link

@noraj noraj commented May 16, 2019

Just say "I spend tons of hours on this and wan't to make it to be my full time work so I plan to close source it in order to be able to sell it."

@noraj

This comment has been minimized.

Copy link

@noraj noraj commented May 16, 2019

Anyway just and advice full commercial product won't be a success for an app like that. And since it is not a web app you can't sell hosted version of it. So the better is to make a freemium business model. With a free and open-source version with all the code features. And a paid close-source premium version with extra features like import/export from/to other specific tools.

@noraj

This comment has been minimized.

Copy link

@noraj noraj commented May 16, 2019

@fabiospampinato I'm sorry I reacted like that because you seemed to have made a lot of work on this project and having a big commitment to open-source but the answer on #432 sounded like an excuse for laziness and the answer here did not sound frank so it irritated me a bit.

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented May 16, 2019

Yeah you could do whatever you want but just say the real reasons instead of telling lies. (Sorry I'm rude again) but I found that part a little irritating.

"Telling lies"? @noraj I'm telling you right now straight and clear: I have no time to deal with these sorts of toxic comments, I'd advice you toward strongly refraining yourself from writing these sorts of comments, otherwise I'll have to ban you from this organization.

I opened this issue more than 3 months ago precisely to be super transparent about this. And mind you, I didn't have to explain myself with you or anybody else at all, but I wanted to.

I don't like being called a liar.

@noraj

This comment has been minimized.

Copy link

@noraj noraj commented May 16, 2019

I opened this issue more than 3 months ago precisely to be super transparent about this.

That kind of you.

I don't like being called a liar.

Nobody does.

I didn't have to explain myself

You have a project with 10k star so you may have some responsibilities.

Again, I'm sorry. Since you have strong opinion on some subject and are not willing to change them I won't contribute. Also you keep telling this is my project like a dictator where precisely a FLOSS project philosophy is to build something with the community. Just close source it fully so it will be yours entirely.

Goodbye.

@fosslinux

This comment has been minimized.

Copy link

@fosslinux fosslinux commented May 16, 2019

@fabiospampinato I'm sorry about @noraj . I hope that I'm not sounding like them when I say this.

Have you considered in the future changing it to source-available, rather than completely closed source? Something like Unity 3D (the game engine) currently does? For many people, that would be a great compromise. But it is your project, and I'm not going to push you to change it to something you're unhappy with. 😄

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented May 16, 2019

Hey @fosslinux, it brings the moral down a bit to read those comments, but don't worry about them, as long as there's a community to manage some toxic comments will show up every now and then.

Your comment is very kindly worded, it doesn't sound at all like those others!

I'm not familiar with "source-available" models, I've looked at Unity's website a bit and I couldn't find anything about this, how does it work?

I've actually said in the original post that I'll consider re-open-sourcing it once it becomes sustainable. It's a bit difficult right now for me to say how the project will be structured/licensed in a couple of years or so, but definitely I'm not against open-sourcing the code per-se.

@fosslinux

This comment has been minimized.

Copy link

@fosslinux fosslinux commented May 17, 2019

I've actually said in the original post that I'll consider re-open-sourcing it once it becomes sustainable. It's a bit difficult right now for me to say how the project will be structured/licensed in a couple of years or so, but definitely I'm not against open-sourcing the code per-se.

I noticed as such 😀

I'm not familiar with "source-available" models, I've looked at Unity's website a bit and I couldn't find anything about this, how does it work?

The idea is that the source code is available for reading, but not for modifying or any use whatsoever.

Unity:

https://github.com/Unity-Technologies/UnityCsReference
https://unity3d.com/legal/licenses/Unity_Reference_Only_License

Tarsnap:

https://www.tarsnap.com/open-source.html
https://github.com/Tarsnap/tarsnap/blob/master/COPYING

The source code is available, but not under an open source license. Software can be source-available while not being FOSS.

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented May 17, 2019

@fosslinux It's an option, but I'm not particularly in favor of forbidding all kinds of derivatives, I think just forbidding commercial ones will do in that situation.

@fosslinux

This comment has been minimized.

Copy link

@fosslinux fosslinux commented May 17, 2019

That's fair, I'm no licensing expert hehe. Thanks for listening to me! 👍

@xeor

This comment has been minimized.

Copy link

@xeor xeor commented Jul 31, 2019

https://choosealicense.com/licenses/ have a nice overview, I think there are other pages as well that makes this easier..

@ducatdusk

This comment has been minimized.

Copy link

@ducatdusk ducatdusk commented Sep 12, 2019

Hey,

I just discovered notable. It's an incredible peice of softare - hits all the buttons of what I need from a markdown based note taking app.

I absolutely believe that developers should be paid for their work. I'm not a fan of subsciptions, but would more than happily pay for major versions. DevonTHINK, iA Writer etc fund their developement in this way and I happily pay for those.

Just throwing my two cents in the hat.

@fchabouis

This comment has been minimized.

Copy link

@fchabouis fchabouis commented Sep 17, 2019

Hello Fabio,
First I'd like to thank you because Notable is very useful to me.

Concerning the fact that you need money to live, have you thought about a contract with us (the community) ?

For example the software is free but closed source. And on your patreon page, you set goals and say for example "if I reach XXX € or $ per month, I open source notable".
This way, you can start making some money right away, the software is closed source, so you're protected, and all the people who care about the open license, well they have a clear way to make it happen. Personally I would rather pay a 5€ per month to support you than pay the same price for a license.
Thanks for reading me.

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented Sep 17, 2019

Hello @fchabouis, I haven't considered that specifically, but I don't think in general building a company on top of user donations makes a lot of sense in most cases, most people just don't want to pay for what they can get for free.

I've taken the app closed-source for lowering the risks associated with this all endeavor for me personally, and I value that risk a lot higher than whatever amount of money I think we could collect via the Patreon page.

@alexandru

This comment has been minimized.

Copy link

@alexandru alexandru commented Sep 23, 2019

Hello,

So I'm a user of Notable and quite like it. I see that the license is still AGPL so this issue is a little confusing — maybe the changes you're thinking of are not in effect yet.

As feedback, I'm saddened to see that you're considering a change of the license. Open Source (via an OSI-approved license) is important to me and it's what made me switch from Evernote.

If Notable is not Open Source, then it competes with solutions such as Evernote, which are more complete. The market has many alternatives actually, like Bear. And it might still have advantages versus Evernote, like the fact that it saves markdown files in a folder, which is a simpler model and plays well with Dropbox sync. But you also have the disadvantage of clearly having less resources at your disposal and you no longer have the Open Source excuse when things go wrong.

For example I came to the issue tracker to report that upon saving a document, I've lost the document I was writing, Notable saving it as a blank "Untitled" document, losing my work. Such a bug is totally unacceptable in a commercial app (even if freemium), whereas in an Open Source app, well, we take what we are given and at the very least I can investigate it and fix it myself if nobody picks it up.

That said, I understand if this is not what you want to do — I'm an open source author myself and I know how painful it can be. We need to put food on the table and open source stuff doesn't put food on the table unless it's a complementary to something else.

I'm sure you've thought of this already, but let me make some suggestions — try an "open core" model, leave the app as is, but add extra stuff as proprietary — not sure what you can do there, maybe a synchronization engine, maybe a mobile app to go with it?

Whatever you choose, I can definitely understand btw, it's your time, your work, you decide what you want to do with your own time and resources. But please be transparent about it and for example if the license isn't an OSI-aproved Open Source license, then please don't call it Open Source.

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented Sep 23, 2019

I see that the license is still AGPL so this issue is a little confusing — maybe the changes you're thinking of are not in effect yet.

Actually this is mentioned in the "License" section of the readme. Maybe I should move the currently available old code into another branch to make this clearer?

Such a bug is totally unacceptable in a commercial app (even if freemium), whereas in an Open Source app

I don't think it's acceptable in an open source app either. Are you experiencing this issue?: #515

try an "open core" model, leave the app as is, but add extra stuff as proprietary — not sure what you can do there, maybe a synchronization engine, maybe a mobile app to go with it?

It's an option, and I may end up re-open-sourcing the app in the future, but I don't feel like it's really possible to publish the desktop app while not publishing the mobile apps as well or something like that, given that I'd like to have a single codebase for all platforms.

But please be transparent about it and for example if the license isn't an OSI-aproved Open Source license, then please don't call it Open Source.

I don't really care about what the OSI thinks to be honest. I think I've been transparent about this (i.e. this issue is months old, there have been multiple updates on the subreddit, I answer everybody's questions, the "open source" section of the comparison table has been updated, and this is clearly mentioned in the readme), but there is still some confusion, I think it arises mostly from having the old source-code readily available when loading the page, so I think I should move it to another branch, do you think that would make the situation clearer?

@kyeotic

This comment has been minimized.

Copy link

@kyeotic kyeotic commented Sep 23, 2019

@fabiospampinato I love notable and I just wanted to give you some more moral support. You have been completely above board, and deciding your time is worth money is good and reasonable.

You gave everyone notable. You don't owe them eternally free work, eternally open licenses, or anything at all.

Thank you for all the work you've done so far, and good luck on your commercial venture 🎉

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented Sep 23, 2019

@kyeotic Thank you for the support ❤

@murarisumit

This comment has been minimized.

Copy link

@murarisumit murarisumit commented Sep 23, 2019

@kyeotic I'm all for the decision of keeping open source or closed. It's his work, whichever way he wants it.

I actually in one way like that way you support him, because I saw a lot in this thread where he has explain the choices he has made. Creator or developer must be supported, if free or not.

You have been completely above board, and deciding your time is worth money is good and reasonable

^ But this line, took me a bit off. People who work on free/opensource software and release it for free, like curl, debian project, various project maintainers, their time is also worth money, it's just choice they make. If everyone would have made such choices, we would be in era where software is beyond our reach and no such eco-system we have now, would have been there.

@kyeotic

This comment has been minimized.

Copy link

@kyeotic kyeotic commented Sep 23, 2019

. If everyone would have made such choices, we would be in era where software is beyond our reach and no such eco-system we have now, would have been there.

Slow down, I'm not trying to attack the entire open source movement by supporting a developer. I am incredibly grateful for the OSS work done in the community, especially the projects you named. That gratitude stems from my recognition that their time is valuable and they are giving it as a gift. I don't believe that because they gave the gift once, or many times over several years, that they owe me continued gifts. If they decide to stop gifting their time to OSS, or even begin charging for future work, I believe they would be right to do so because their time is valuable.

Likewise, I don't think that if you donate to charity once that you must continue to donate to that charity, or any charity, indefinitely. Gifts are not promises.

That is not to say that OSS is bad, that everyone should charge money for their time, or that people who work for OSS projects are foolish to do so. I myself am an OSS maintainer, and I don't seek payment for that work. Everyone is free to make the choice to do OSS work, and there are no wrong answers.

My support of one person under specific conditions is not a statement that all people should make the same choice under all conditions.

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented Sep 23, 2019

People who work on free/opensource software and release it for free, like curl, debian project, various project maintainers, their time is also worth money, it's just choice they make. If everyone would have made such choices, we would be in era where software is beyond our reach and no such eco-system we have now, would have been there.

By the way I have more than a hundred open source projects too you know.

@murarisumit

This comment has been minimized.

Copy link

@murarisumit murarisumit commented Sep 24, 2019

@fabiospampinato i understand that your decision and route you've taken. Notable is really good tool to have. I also use many tools and pay for them, if I think they give value to me, like any other physical tools we have.

I understand you want to take that route. I hope you all the very best for your product and it's journey ahead. I follow this thread to read opinion people have on these sort of decision and your response on it. Just that line hit me up, and I thought my responsibility to write it up. Nothing else.

@fosslinux

This comment has been minimized.

Copy link

@fosslinux fosslinux commented Sep 24, 2019

May I ask that the LICENSE file is removed from this repository? I'm more than happy for you to close-source Notable, as you have done, but the AGPL LICENSE file is slightly misleading, to me at least. Thank you again fro your work on Notable. ❤️

@fabiospampinato

This comment has been minimized.

Copy link
Member Author

@fabiospampinato fabiospampinato commented Sep 28, 2019

I've just pushed all the old source code down git's commits history and replaced it with a SOURCE_CODE.md file, hopefully this should make things a lot clearer for everybody.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.